Cod sursa(job #2647079)
Utilizator | Data | 2 septembrie 2020 21:54:31 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream r("rucsac.in");
ofstream w("rucsac.out");
int g[5002], c[5002], d[10002];
int main()
{
int n, tot, sol=0;
r>>n>>tot;
for(int i=1;i<=n;i++){
r>>g[i]>>c[i];
}
for(int i=1;i<=n;i++){
for(int j=tot-g[i];j>=0;j--){
d[j+g[i]]=max(d[j+g[i]], d[j]+c[i]);
sol=max(sol, d[j+g[i]]);
}
}
w<<sol;
return 0;
}