Cod sursa(job #1038653)

Utilizator japjappedulapPotra Vlad japjappedulap Data 21 noiembrie 2013 21:07:31
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;

ifstream is ("energii.in");
ofstream os ("energii.out");

int n, C, val[1001], w[1001], sol;
int dp[5001];

void Read();

int main()
{
    Read();
    for (int i = 0; i <= n; ++i)
        for (int j = C-w[i]; j >= 0; --j)
            if (dp[j+w[i]] < dp[j] + val[i])
            {
                dp[j+w[i]] = dp[j] + val[i];
                if (dp[j+w[i]] > sol)
                    sol = dp[j+w[i]];
            }
    if (sol == 0)
        os << -1;
    else
        os << sol;
    is.close();
    os.close();
    return 0;
}


void Read()
{
    is >> n;
    is >> C;
    for (int i = 1; i <= n; ++i)
        is >> w[i] >> val[i];
};