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