Cod sursa(job #2795033)
Utilizator | Ciocioiu Mihnea mihnea03 | Data | 5 noiembrie 2021 22:08:49 |
---|---|---|---|
Problema | Problema rucsacului | Scor | 65 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.69 kb |
#include <fstream>
#include <cstring>
#define dim 10010
using namespace std;
int d[dim];
int da[dim];
int i,j,n,m,x,y;
int main() {
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
fin>>n>>m;
for (i=1;i<=n;++i) {
fin>>x>>y;
for (j=1;j<=m;++j) {
d[j]=max(d[j-1],da[j]);
if (j>=x) {
d[j]=max(d[j],y+da[j-x]);
da[j-x]=d[j-x];
}
}
for (j=m-x;j<=m;++j) {
da[j]=d[j];
}
}
fout<<d[m];
/** for (i=1;i<=n;i++) {
for (j=1;j<=m;j++) {
fout<<d[i][j]<<" ";
}
fout<<"\n";
} **/
return 0;
}