Pagini recente » Cod sursa (job #2865466) | Cod sursa (job #706444) | Cod sursa (job #305053) | Cod sursa (job #2235495) | Cod sursa (job #1990064)
#include <iostream>
#include <stdio.h>
using namespace std;
int v[15001];
int main() {
FILE *fin, *fout;
int n, w, c, e, i, j;
fin=fopen("energii.in","r");
fout=fopen("energii.out","w");
fscanf(fin, "%d%d",&n,&w);
for(i=1;i<=n;i++) {
fscanf(fin, "%d%d",&e,&c);
for(j=w;j>=0;j--)
if(v[j]!=0)
if(v[j+e]!=0)
v[j+e]=min(v[j]+c,v[j+e]);
else
v[j+e]=v[j]+c;
if(c<v[e] || v[e]==0)
v[e]=c;
}
c=2000000000;
for(i=w;i<=w+10000;i++)
if(v[i]<c && v[i]!=0)
c=v[i];
if(c!=20000000000)
fprintf(fout, "%d",c);
else
fprintf(fout, "-1");
fclose( fin );
fclose( fout );
return 0;
}