Cod sursa(job #2287196)
Utilizator | Data | 21 noiembrie 2018 17:25:26 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.45 kb |
#include <bits/stdc++.h>
#define DMAX 100000
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int a[DMAX],g[DMAX],cmax[DMAX];
int n,GMAX;
int main()
{int i,x;
fin>>n>>GMAX;
for(i=1;i<=n;i++)
fin>>g[i]>>a[i];
for(i=1;i<=n;i++)
for(x=GMAX;x>=1;x--)
if(x>=g[i])
if(cmax[x]<(a[i]+cmax[x-g[i]]))
cmax[x]=a[i]+cmax[x-g[i]];
fout<<cmax[GMAX];
}