Cod sursa(job #2398084)
| Utilizator | Data | 5 aprilie 2019 02:16:16 | |
|---|---|---|---|
| Problema | Problema rucsacului | Scor | 100 |
| Compilator | cpp-64 | Status | done |
| Runda | Arhiva educationala | Marime | 0.5 kb |
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("rucsac.in");
ofstream g("rucsac.out");
int a[10001];
int main()
{
int n,G;
f>> n>> G;
for(int i= 1 ; i <= n; i ++)
{int w, p;
f>> w>> p;
for(int j =G; j>= 1; j--)
{
if(a[j] > 0 && j + w <= G && a[j + w] < a[j] + p)
a[j + w] = a[j] + p;
}
if(a[w] < p)
a[w] = p;
}
int m=0;
for( int i= 1; i<= G; i++)if(m<a[i])m=a[i];
g<<m;
}
