Pagini recente » Cod sursa (job #1143690) | Unirea 2007, Clasament pentru clasele IX-X | Cod sursa (job #3246780) | Cod sursa (job #399788) | Cod sursa (job #1427274)
#include <cstdio>
long long v[1000001];
int main()
{
freopen("energii.in", "r", stdin);
freopen("energii.out", "w", stdout);
int n, p, e, b, i, j, dr, min;
scanf("%d%d", &n, &p);
dr=0;
v[0]=0;
for(i=1;i<1000000;i++){
v[i]=2000000000;
}
min=2000000000;
for(i=0;i<n;i++){
scanf("%d%d", &e, &b);
for(j=dr;j>=0;j--){
if(v[j]+b<v[j+e] && v[j]!=2000000000 && j<p){
v[j+e]=v[j]+b;
if(v[j]+e>=p && min>v[j+e])
min=v[j+e];
}
}
dr+=e;
}
if(min==2000000000)
min=-1;
printf("%d", min);
return 0;
}