Cod sursa(job #1222095)

Utilizator azkabancont-vechi azkaban Data 22 august 2014 11:30:06
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>
#define limit 21113
#define INF 0x3f3f3f3
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
int n,w,i,j,sol(INF),S_T(0);
int D[limit],E[limit],K[limit];
int main()
{
 cin>>n>>w;
 for (i=1;i<=n;++i) cin>>E[i]>>K[i], S_T+=E[i];
 if (S_T<w) cout<<"-1";
       else {
 for (i=1;i<=limit;++i) D[i]=INF; 
 for (i=1;i<=n;++i)
    for (j=w;j>=0;--j)
      if (D[j]!=INF)
         D[j+E[i]]=min(D[j+E[i]],D[j]+K[i]);
 for (i=w;i<=limit;++i) sol=min(sol,D[i]);
 cout<<sol<<"\n";    
            }
return 0;
}