Pagini recente » Cod sursa (job #1597177) | Cod sursa (job #737477) | Cod sursa (job #2818386) | Cod sursa (job #775686) | Cod sursa (job #3165145)
#include <iostream>
#include <fstream>
using namespace std;
const int MAXG = 1e7;
int solutii[MAXG + 1];
ifstream fin("energii.in");
ofstream fout("energii.out");
int main()
{
ios_base::sync_with_stdio(false);
int n, g, i, j, w, p, nou;
fin >> n >> g;
for (i = 0; i < n; i++) {
fin >> w >> p;
for (j = g - w; j > 0; j--)
if (solutii[j] > 0) {
nou = solutii[j] + p;
solutii[j + w] = max(nou, solutii[j + w]);
}
solutii[w] = max(p, solutii[w]);
/*for (j = 1; j <= g; j++)
fout << j << ' ' << solutii[j] << '\n';
fout << "stop\n\n";*/
}
for (int i = 0; i <= 1e7; i++)
if (solutii[i] >= w) {
fout << i + 1 << '\n';
return 0;
}
fout << "-1\n";
return 0;
}