Pagini recente » Cod sursa (job #824096) | Cod sursa (job #626056) | Cod sursa (job #903492) | Cod sursa (job #1541776) | Cod sursa (job #1328344)
#include <cstdio>
#define maxim 30000
using namespace std;
FILE *f=fopen("energii.in","r");
FILE *g=fopen("energii.out","w");
int n,w;
int v[maxim+5],minim=1<<30;
int main()
{ int i,j,a,b;
fscanf(f,"%d %d",&n,&w);
for (i=1;i<=30000;i++) v[i]=1<<29;
while (n!=0){
fscanf(f,"%d %d",&a,&b);
for (i=5000;i>=0;i--)
if (v[i]+b<v[i+a])
v[i+a]=v[i]+b;
n--;
}
for (i=maxim;i>=w;i--) if (v[i]<minim) minim=v[i];
fprintf(g,"%d\n",minim);
return 0;
}