Pagini recente » Cod sursa (job #1490083) | Cod sursa (job #2287535) | Monitorul de evaluare | Cod sursa (job #1883466) | Cod sursa (job #1507653)
#include <iostream>
#include <fstream>
using namespace std;
int D[10001];
int N,G;
int W[5001];
int P[5001];
int main(){
ifstream f("rucsac.in");
ofstream g("rucsac.out");
f>> N>>G;
for (int i=0;i<N;i++){
f>>W[i]>>P[i];
}
D[0]=0;
int rez=0;
for (int i=0;i<N;i++){
for (int j=G-W[i];j>=0;j--){
if (D[j+W[i]]<=D[j]+P[i]){
D[j+W[i]]=D[j]+P[i];
if (D[j+W[i]]>rez){
rez =D[j+W[i]];
}
}
}
}
g<<rez;
return 0;
}