Cod sursa(job #2543009)
| Utilizator | Data | 10 februarie 2020 19:35:49 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 65 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.52 kb |
#include <bits/stdc++.h>
#define N 5001
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int main(){
int n, g, w[N], p[N], rez[2*N], solv = 0;
fin>>n>>g;
for(int i=1;i<=n;i++){
fin>>w[i]>>p[i];
}
for(int i=1;i<=n;i++){
for(int j=g-w[i];j>=0;j--){
if(rez[j+w[i]]<rez[j] + p[i]){
rez[j+w[i]] = rez[j] + p[i];
solv = max(rez[j+w[i]], solv);
}
}
}
fout<<solv;
return 0;
}
