Pagini recente » Cod sursa (job #1141047) | Cod sursa (job #1847423) | Cod sursa (job #1744399) | Clasament test_practic_pa_1 | Cod sursa (job #1068989)
#include<cstdio>
int x[2001][6001],e[2001],c[2001],n,s,i,j;
FILE *f,*g;
int main(){
f=fopen("energii.in","r");
g=fopen("energii.out","w");
fscanf(f,"%d%d",&n,&s);
for(i=1;i<=n;i++){
fscanf(f,"%d%d",&e[i],&c[i]);
for(j=1;j<=s;j++){
x[i][j]=2000000000;
}
}
for(i=1;i<=n;i++)
for(j=1;j<=s;j++){
if(e[i]<j){
if(x[i-1][j]>x[j-1][j-e[i]]+c[i])
x[i][j]=x[i-1][j];
else
x[i][j]=x[j-1][j-e[i]]+c[i];
}
else{
if(x[i-1][j]>c[i])
x[i][j]=x[i-1][j];
else
x[i][j]=c[i];
}
}
if(x[n][s]==2000000000)
fprintf(g,"-1");
else
fprintf(g,"%d",x[n][s]);
fclose(f);
fclose(g);
return 0;
}