Cod sursa(job #324207)
Utilizator | Data | 14 iunie 2009 21:53:46 | |
---|---|---|---|
Problema | Energii | Scor | 100 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.53 kb |
#include<fstream.h>
int a[5001],w,i,n,ec,cg,j;
int main()
{
ifstream f("energii.in");
ofstream g("energii.out");
f>>n>>w;
a[0]=0;
for(j=1;j<=w;j++)
a[j]=-1;
for(i=1;i<=n;i++)
{
f>>ec>>cg;
for(j=w;j>=0;j--)
{
if(a[j]!=-1)
if(j+ec<=w)
{
if(a[j+ec]==-1||a[j+ec]>cg+a[j])
a[j+ec]=cg+a[j];
}
else
if(a[w]>cg+a[j]||a[w]==-1)
a[w]=cg+a[j];
}
}
g<<a[w];
f.close();
g.close();
return 0;
}