Pagini recente » Cod sursa (job #566351) | Cod sursa (job #528732) | Cod sursa (job #2482087) | Cod sursa (job #2490566) | Cod sursa (job #2125067)
#include<bits/stdc++.h>
using namespace std;
int g,w,s,ss;
int e[1100],c[1100],d[1100][5100];
int main(){
ifstream cin("energii.in");
ofstream cout("energii.out");
cin>>g>>w;
for(int i=1;i<=g;i++){
cin>>e[i]>>c[i];
s+=e[i];
}
for(int i=0;i<=g;i++)
d[i][0]=20000;
for(int j=0;j<=w;j++)
d[0][j]=20000;
for(int i=1;i<=g;i++){
ss+=e[i];
for(int j=0, k=ss+1;j<=ss;j++,k++){
d[i][k]=20000; //min(d[i-1][j],d[i-1][j-e[i]]+c[i]);
if(j>e[i]) d[i][j]=min(d[i-1][j],d[i-1][j-e[i]]+c[i]);
else d[i][j]=min(d[i-1][j],c[i]);
}
}
//for(int i=1;i<=g;i++){
//for(int j=1;j<=w;j++)
// cout<<d[i][j]<<" ";
// cout<<'\n';
//}
if(s>=w) cout<<d[g][w]; else cout<<"-1";
return 0;
}