Pagini recente » Monitorul de evaluare | Diferente pentru utilizator/sadmann intre reviziile 5 si 4 | Cod sursa (job #1588858) | Diferente pentru multe-smenuri-de-programare-in-cc-si-nu-numai intre reviziile 3 si 4 | Cod sursa (job #2971188)
#include <fstream>
#include <iostream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int profit[10001];
int p[5002], g[5002];
int main(){
int n, k;
cin >> n >> k;
for(int i=0; i<n; i++)
cin >> g[i] >> p[i];
for(int j=1; j<=k; j++)
profit[j] = -1;
profit[0] = 0;
for(int i=0; i<n; i++)
for(int j=k-g[i]; j>=0; j--)
if(profit[j] != -1 && profit[j] + p[i] > profit[j+g[i]])
profit[j+g[i]] = profit[j] + p[i];
cout << profit[k];
}