Cod sursa(job #2640140)
Utilizator | Data | 5 august 2020 13:02:47 | |
---|---|---|---|
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 f("rucsac.in");
ofstream g("rucsac.out");
const int N = 10010;
int n,gr,pr,G,p[N],sol;
int main()
{
f>>n>>G;
p[0]=1;
for(int i=1;i<=n;i++)
{
f>>gr>>pr;
for(int st=G-gr,dr=G;st>=0;st--,dr--)
if(p[st])
p[dr]=max(p[dr],p[st]+pr);
}
for(int i=0;i<=G;i++)
sol=max(sol,p[i]);
sol--;
g<<sol;
return 0;
}