Pagini recente » Cod sursa (job #2260245) | Cod sursa (job #2401803) | Cod sursa (job #3267705) | Cod sursa (job #1314769) | Cod sursa (job #2189702)
#include <fstream>
#include <iostream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int p[50001];
int w[50001];
int d[100001];
int N,G;
int max(int a,int b) {
return a>b?a:b;
}
int main() {
in>>N>>G;
for (int i=0;i<N;i++)
in>>w[i]>>p[i];
d[0]=0;
for (int i=0;i<N;i++)
for (int g=G;g>=0;g--)
if (g-w[i]>=0)
d[g]=max(d[g],d[g-w[i]]+p[i]);
out<<d[G];
in.close();
out.close();
return 0;
}