Pagini recente » Cod sursa (job #630935) | Cod sursa (job #3284145) | Cod sursa (job #2822289) | Cod sursa (job #120315) | Cod sursa (job #403981)
Cod sursa(job #403981)
#include <cstdio>
const int none=100000000;
int v[5005],c[1005],e[1005],g,w;
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d %d", &g, &w);
for(int i=0;i<g;i++){
scanf("%d %d",&e[i],&c[i]);
}
for(int i=1;i<=w;++i){
v[i]=none;
}
for(int i=0;i<g;++i){
for(int j=w;j>=1;--j){
if(v[j]!=none){
if(j+e[i]>=w){
if(v[j]+c[i]<v[w])v[w]=v[j]+c[i];
}else if(v[j]+c[i]<v[j+e[i]]){
v[j+e[i]]=v[j]+c[i];
}
}
if(e[i]>=w){
if(c[i]<v[w])v[w]=c[i];
}else if(v[e[i]]>c[i]){
v[e[i]]=c[i];
}
}
}
if(v[w]==none){
printf("-1\n");
}else{
printf("%d",v[w]);
}
return 0;
}