Cod sursa(job #2045550)
| Utilizator | Data | 22 octombrie 2017 15:14:28 | |
|---|---|---|---|
| Problema | Energii | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.45 kb |
#include <cstdio>
using namespace std;
FILE *f, *g;
int ma,i,j,k,ep,c,n,b[5001];
int main()
{f=fopen ("energii.in","r");
g=fopen ("energii.out","w");
fscanf (f,"%d%d",&n,&k);
for (i=1;i<=k;++i)
b[i]=99999999;
for (i=1;i<=n;++i)
{fscanf (f,"%d%d",&ep,&c);
for (j=k;j>=ep;--j)
if (b[j]>b[j-ep]+c)
b[j]=b[j-ep]+c;
for (j=c;j>=1;--j)
if (b[j]>c)
b[j]=c;
}
if (b[k]!=99999999)
fprintf (g,"%d\n",b[k]);
else
fprintf (g,"-1\n");
return 0;
}
