Pagini recente » Cod sursa (job #2745183) | Cod sursa (job #399838) | Cod sursa (job #319660) | Cod sursa (job #230183) | Cod sursa (job #1925601)
#include<cstdio>
int G,w,s,a[1010][5010];struct obiect{int p,c;}ob[5010];int main(){freopen("energii.in","r",stdin);freopen("energii.out","w",stdout);scanf("%d%d",&G,&w);for(int i=1;i<=G;i++){scanf("%d%d",&o[i].p,&o[i].c);s+=o[i].p;}if(s<w){puts("-1");}else{for(int i=0;i<=G;i++)for(int j=0;j<=w;j++)a[i][j]=0x3f3f3f3f;for(int i=1;i<=G;i++){for(int j=0;j<=w;j++){if(j<=o[i].p)a[i][j]=(a[i-1][j]<o[i].c)?a[i-1][j]:o[i].c;if(j>o[i].p)a[i][j]=(a[i-1][j]<a[i-1][j-o[i].p]+o[i].c)?a[i-1][j]:a[i-1][j-o[i].p]+o[i].c;}}printf("%d\n",a[G][w]);}return 0;}