Pagini recente » Cod sursa (job #898617) | Cod sursa (job #744491) | Cod sursa (job #803580) | Cod sursa (job #26691) | Cod sursa (job #697446)
Cod sursa(job #697446)
#include<cstdio>
#include<algorithm>
using namespace std;
const long long int inf=1000000000;
int n,m,v[1005][5005],i,j,w[1005],c[1005];
int main(){
freopen("energii.in","r",stdin);
freopen("energii.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=n;++i){
scanf("%d%d",&w[i],&c[i]);
}
for(i=1;i<=n;++i){
for(j=1;j<=m;++j){
v[i][j]=inf;
}
}
for(i=1;i<=n;++i){
for(j=1;j<=m;++j){
if(i==1){
if(j<=w[1]){
v[i][j]=c[i];
}
}
else{
if(j<=w[i]){
v[i][j]=min(v[i-1][j],c[i]);
}
else{
v[i][j]=min(v[i-1][j-w[i]]+c[i],v[i-1][j]);
}
}
}
}
if(v[n][m]==inf){
printf("-1");
}
else{
printf("%d",v[n][m]);
}
return 0;
}