Cod sursa(job #557004)
| Utilizator | Data | 16 martie 2011 13:41:10 | |
|---|---|---|---|
| Problema | Energii | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <fstream.h>
ifstream f("energii.in");
ofstream g("energii.out");
int A[10005],E[10005],C[10005],c[10005],i,j,n,e,min;
int main(){
f>>n;
f>>e;
for(i=1;i<=n;i++)
{
f>>E[i];
f>>C[i];
}
A[0]=1;
for(i=1;i<=e;i++)
c[i]=200000000;
min=200000000;
for(i=1;i<=n;i++)
for(j=e;j>=0;j--)
if(A[j]==1)
{
A[j+E[i]]=1;
if(c[j+E[i]]>c[j]+C[i])
c[j+E[i]]=c[j]+C[i];
if(A[e])
if(c[e]<min)
min=c[e];
}
g<<min;
return 0;
}
