Pagini recente » Cod sursa (job #1827920) | Cod sursa (job #2607957) | Cod sursa (job #689894) | Cod sursa (job #1235871) | Cod sursa (job #2823024)
#include <iostream>
using namespace std;
struct generator {
int eg,cg;
};
//
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;
}