Pagini recente » Cod sursa (job #2719809) | Cod sursa (job #1300316) | Cod sursa (job #54679) | Cod sursa (job #2650439) | Cod sursa (job #2844900)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
long long N, G, A[10001], B[10001], GR[5001], PR[5001];
int main() {
fin>>N>>G;
for(int i=1; i<=N; i++)
fin>>GR[i]>>PR[i];
for(int i=1; i<=N; i++)
{
for(int j=1; j<=G; j++)
if(GR[i] > j)
B[j] = A[j];
else
B[j] = max(A[j], A[j-GR[i]] + PR[i]);
for(int j=1; j<=G; j++)
A[j] = B[j];
}
fout<<A[G];
return 0;
}