Cod sursa(job #1011804)
Utilizator | Andrei Comaneci acom | Data | 17 octombrie 2013 15:36:00 |
---|---|---|---|
Problema | Energii | Scor | 40 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<fstream>
using namespace std;
ifstream fin("energii.in");
ofstream fout("energii.out");
int n,w,s,E[1001],C[1001],V[1001*10001];
int main()
{
int i,j;
fin>>n>>w;
for (i=1;i<=n;++i)
fin>>E[i]>>C[i], s+=C[i];
for (i=1;i<=n;++i)
for (j=s;j>=C[i];--j)
V[j]=max(V[j],V[j-C[i]]+E[i]);
for (i=1;i<=s;++i)
if (V[i]>=w)
{
fout<<i<<'\n';
break;
}
if (i==n+1) fout<<"-1\n";
return 0;
}