Cod sursa(job #1547280)
Utilizator | iulius alexandru iulius510 | Data | 9 decembrie 2015 10:32:12 |
---|---|---|---|
Problema | Energii | Scor | 5 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.47 kb |
#include <fstream>
using namespace std;
int E[5001],C[5001],P[10001],n,W;
ifstream f("energii.in");
ofstream g("energii.out");
int main()
{
f>>n;
f>>W;
for(int i=1;i<=n;i++)
f>>E[i]>>C[i];
for(int i=1;i<=10001;i++)
P[i]=10001;
for(int i=1;i<=n;i++)
for(int j=W;j>=1;j--)
if(j>=E[i])
P[j]=min(P[j],P[j-E[i]]+C[i]);
if(P[W]==10001)
g<<-1;
else g<<P[W];
return 0;
}