Cod sursa(job #1466921)

Utilizator greenday28stoienescu paul greenday28 Data 31 iulie 2015 22:27:04
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include<fstream>
#define maxim 2000000
#define max 10002
using namespace std;
ifstream in("energii.in");
ofstream out("energii.out");
int g,w,cmin;
int e[max],c[max],cost[max/2];
int main()
{
    in>>g>>w;
    for(int i=1;i<=g;i++)
        in>>e[i]>>c[i];
    for(int i=1;i<=w;i++)
        cost[i]=maxim;
    for(int i=1;i<=g;i++)
        for(int j=w;j>=0;j--)
        if(j>=e[i])
    {
        if(cost[j]>cost[j-e[i]]+c[i])
        cost[j]=cost[j-e[i]]+c[i];
    }
    else
        cost[j]=min(cost[j],c[i]);
    if(cost[w]!=maxim)
        out<<cost[w];
        else
            out<<-1;

}