Cod sursa(job #2191714)
| Utilizator | Data | 3 aprilie 2018 15:33:56 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.46 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
long long int N, G, pret[5010], greu[5010], F[11000];
int main(){
fin>>N>>G;
for(long long int i=1; i<=N; i++)
fin>>greu[i]>>pret[i];
for(long long int i=1; i<=N; i++)
for(long long int j=G; j>=greu[i]; j--)
F[j] = max( F[j], F[j-greu[i]] + pret[i] );
fout<<F[G];
return 0;
}
