Pagini recente » Cod sursa (job #2689413) | Cod sursa (job #1324985) | Cod sursa (job #2782313) | Cod sursa (job #1814820) | Cod sursa (job #1325161)
#include <fstream>
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");
struct asd{
int g,p;
}a[1010];
long long d[1000008],N,G,i,j,s;
int main()
{
f >> N >> G;
for(i = 1; i <= N; i++){
f >> a[i].p >> a[i].g;
s += a[i].g;
}
for(i = 1; i <= N; i++){
for(j = s; j >= a[i].g; j--){
d[j] = max(d[j],d[j-a[i].g] + a[i].p);
/* if(i == N){
if(d[j] != G && d[j+1] == G){
g << j+1;
return 0;
}
} */
}
}
for(i = 1; i <= s; i++){
if(d[i] >= G ){
g << i;
return 0;
}
}
g << -1;
return 0;
}