Cod sursa(job #3283311)

Utilizator Martin_BohonyiMartin Bohonyi Martin_Bohonyi Data 8 martie 2025 23:38:45
Problema Problema rucsacului Scor 50
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include<fstream>
using namespace std;

ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

int N , GMaxx , LinAnt[10001] , LinCrt[10001];

struct Obiect{
     int G;
     int V;
 }O[1001];

int main()
{
cin>>N>>GMaxx;
for(int i=1 ; i<=N ; i++)
    cin>>O[i].G>>O[i].V;

for(int i=1 ; i<=N ; i++){
   for(int cw=1 ; cw<=GMaxx ; cw++){
        if(cw >= O[i].G)
            LinCrt[cw]=max(LinAnt[cw] , O[i].V + LinAnt[cw-O[i].G]);
        else
            LinCrt[cw]=LinAnt[cw];
   }
   for(int cw=1 ; cw<=GMaxx ; cw++)
        LinAnt[cw]=LinCrt[cw];
 }

cout<<LinCrt[GMaxx]<<'\n';
return 0;
}