Pagini recente » Rating Radu Adrian Leonard (ady8radu) | Cod sursa (job #826565) | Cod sursa (job #439927) | Cod sursa (job #160436) | Cod sursa (job #877159)
Cod sursa(job #877159)
#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
using std::cin;
using std::cout;
using std::vector;
int P[10001];
struct obiect
{
int G;
int P;
};
int main()
{
std::ifstream f;
f.open("rucsac.in");
int N,G;
f >> N >> G;
vector<obiect> a;
a.resize(N);
for ( int i = 0; i < N; ++i )
{
f >> a[i].G >> a[i].P;
}
f.close();
int rez = 0;
for (int i = 0; i < N; ++i )
for (int j = G - a[i].G; j >= 0; --j)
if ( P[j+a[i].G] < P[j] + a[i].P )
{
P[j+a[i].G] = P[j] + a[i].P;
rez = std::max(rez, P[j+a[i].G] );
}
std::ofstream f2;
f2.open("rucsac.out");
f2 << rez;
f2.close();
return 0;
}