Cod sursa(job #1102682)

Utilizator andreeadeacAndreea Ioana Deac andreeadeac Data 9 februarie 2014 14:33:10
Problema Energii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
using namespace std;

ifstream f("energii.in");
ofstream g("energii.out");

const long long N=10000001;
long long cost[N];
struct {int e,c;} a[1001];
int main(){
    int gr,w,i,s=0,j;
    long long mini;
    f>>gr>>w;
    for(i=1;i<=gr;i++){
        f>>a[i].e>>a[i].c;
        s=s+a[i].e;
    }
    for(i=1;i<=s;i++)
        cost[i]=N;
    cost[0]=0;
    for(i=1;i<=gr;i++)
        for(j=s-a[i].e;j>=0;j--)
            if(cost[j]!=N && cost[j]+a[i].c<cost[j+a[i].e])
                cost[j+a[i].e]=cost[j]+a[i].c;
    mini=cost[w];
    for(i=w+1;i<=s;i++)
        if(cost[i]<mini)
            mini=cost[i];
    g<<mini<<"\n";
    return 0;
}