Pagini recente » Cod sursa (job #216124) | Cod sursa (job #2786497) | Cod sursa (job #994669) | Cod sursa (job #510361) | Cod sursa (job #1726070)
#include <cstdio>
#define MAXENER 10000
#define INF 2000000000
using namespace std;
int v[MAXENER+1];
int main()
{
FILE *fin, *fout;
int g, w, e, c, i, j, lim;
for(i=1; i<=MAXENER; i++)
v[i]=INF;
fin=fopen("energii.in", "r");
fscanf(fin, "%d%d", &g, &w);
lim=0;
for(i=0; i<g; i++){
fscanf(fin, "%d%d", &e, &c);
if(lim+e<=MAXENER)
lim+=e;
else
lim=MAXENER;
for(j=lim; j>=e; j--)
if(v[j]>v[j-e]+c)
v[j]=v[j-e]+c;
}
fclose(fin);
c=INF;
for(i=w; i<=MAXENER; i++)
if(v[i]<c)
c=v[i];
if(c==INF)
c=-1;
fout=fopen("energii.out", "w");
fprintf(fout, "%d\n", c);
fclose(fout);
return 0;
}