Cod sursa(job #1172388)

Utilizator andreey_047Andrei Maxim andreey_047 Data 17 aprilie 2014 14:03:22
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");

int n,W,i,j,E[1001],C[1001],a[5001],b[5001];

int main(){

fin>>n>>W;
for(i=1;i<=n;i++)
fin>>E[i]>>C[i];

for(i=1;i<=W;i++)
b[i]=1000000;

for(i=1;i<=n;i++){
    for(j=1;j<=W;j++){
    if(E[i]>=j) a[j]=min(C[i],b[j]);
    else a[j]=min(b[j],b[j-E[i]]+C[i]);
    }
    for(j=1;j<=W;j++) b[j]=a[j];
}

if(a[W]==1000000) fout<<"-1";
else fout<<a[W]<<"\n";

}