Pagini recente » Cod sursa (job #872134) | Cod sursa (job #1143540) | Cod sursa (job #1055094) | Cod sursa (job #1401765) | Cod sursa (job #1172169)
#include <iostream>
#include <cstdio>
using namespace std;
int p[1007],c[1007],d[1007][1007],n,g;
int main(){
int i,j,sum;
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&g);
for(i=1;i<=n;i++)
scanf("%d%d",&p[i],&c[i]);
for(i=1;i<=g;i++) d[0][i]=999999;
for(i=1;i<=n;i++)
for(j=1;j<=g;j++)
{
d[i][j]=d[i-1][j];
sum=d[i][j];
if(sum >= j){
if(d[i-1][j-p[i]]+c[i] < d[i][j])
sum=sum-p[i-1]+p[i];
d[i][j] = min(d[i][j],d[i-1][j-p[i]]+c[i]);}
}
// for(i=1;i<=n;i++){
// for(j=1;j<=g;j++)
// printf("%d ",d[i][j]);
// printf("\n");
// }
if(d[n][g] == 999999) printf("-1\n");
else
printf("%d\n",d[n][g]);
return 0;
}