Pagini recente » Cod sursa (job #2433491) | Cod sursa (job #78280) | Cod sursa (job #2272015) | Cod sursa (job #669080) | Cod sursa (job #2823025)
#include <fstream>
using namespace std;
struct generator {
int eg,cg;
};
ifstream cin("energii.in");
ofstream cout("energii.out");
generator g[1001];int G,w;
int main()
{
cin>>G>>w;
for(int i=1;i<=G;i++) cin>>g[i].eg>>g[i].cg;
int maxx=g[0].cg;for(int i=1;i<=G;i++) {
if (maxx < g[i].cg) maxx = g[i].cg;
}
int dp[100][100];
int minim=-1;bool gata = false;
for(int i=1;i<=G && gata==false;i++) {
for(int j=1;j<=maxx;j++) {
if(j-g[i].cg < 0) {
dp[i][j] = dp[i-1][j];
} else {
dp[i][j] = max(dp[i-1][j],dp[i-1][j-g[i].cg] + g[i].eg);
if (dp[i][j] >= w && gata==false) {minim = j;gata=true;break;}
}
}
}
cout<<minim;
return 0;
}