Cod sursa(job #2389890)
Utilizator | Data | 27 martie 2019 16:22:39 | |
---|---|---|---|
Problema | Problema rucsacului | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.42 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
const int minf=-2000000000;
int n,gmax,gr,pr,st,dr;
int main()
{
f>>n>>gmax;
vector<int> p(gmax+1,minf);
p[0]=0;
for(;n;n--)
{
f>>gr>>pr;
for(st=gmax-gr,dr=gmax;st>=0;st--,dr--)
p[dr]=max(p[dr],p[st]+pr);
}
g<<*max_element(p.begin(),p.end());
return 0;
}