Cod sursa(job #2286096)
| Utilizator | Data | 19 noiembrie 2018 20:03:14 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.48 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
const int GMAX = 10010;
const int oo = 1000000000;
int n,gr,gre,val,sol,profit[GMAX];
int main()
{
f>>n>>gr;
fill(profit+1,profit+gr+1,-oo);
for(;n;n--)
{
f>>gre>>val;
for(int st=gr-gre,dr=gr;st>=0;st--,dr--)
profit[dr]=max(profit[dr],profit[st]+val);
}
for(int i=gr;i>=0;i--)
sol=max(sol,profit[i]);
g<<sol;
return 0;
}
