Cod sursa(job #1209501)

Utilizator dianaa21Diana Pislaru dianaa21 Data 17 iulie 2014 21:14:04
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream is ("energii.in");
ofstream os ("energii.out");
int e[1001], c[1001], sol[5001];
int n, w, wmax;
void Read();
int main()
{
    Read();
    sol[0] = 0;
    for(int i = 1; i <= n; ++i)
        for(int j = wmax - e[i]; j >= 0; --j)
        {
            if(sol[j+e[i]] < sol[j] + c[i])
            {
                sol[j+e[i]] = sol[j] + c[i];
                w = max(w, sol[j+e[i]]);
            }
        }
    os << w;


    is.close();
    os.close();
    return 0;
}
void Read()
{
    is >> n >> wmax;
    for(int i = 1; i <= n; ++i)
        is >> e[i] >> c[i];
}