Cod sursa(job #341609)
Utilizator | Data | 18 august 2009 23:13:54 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <iostream.h>
#include<fstream.h>
int a[5001],W,i,G,c,k,j;
int main()
{
ifstream f("energii.in");
ofstream g("energii.out");
f>>G>>W;
a[0]=0;
for(j=1;j<=W;j++)
a[j]=-1;
for(i=1;i<=G;i++)
{
f>>c>>k;
for(j=W;j>=0;j--)
{
if(a[j]!=-1)
if(j+c<=W)
{
if (a[j+c]==-1||a[j+c]>k+a[j]) a[j+c]=k+a[j];
}
else if (a[W]>k+a[j]||a[W]==-1)
a[W]=k+a[j];
}
}
g<<a[W];
f.close();
g.close();
return 0;
}