Cod sursa(job #2867832)

Utilizator czerjak22Czerjak Norbert-Levente czerjak22 Data 10 martie 2022 16:21:08
Problema Problema rucsacului Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
int s[3][100000],current=1,last=2,maxg;
struct elem{
 int suly;
 int penz;
}v[100000];
int main()
{
    int n;
    in>>n>>maxg;
    for(int i=0;i<n;i++)in>>v[i].suly>>v[i].penz;
    for(int i=0;i<n;i++)
    {
       for(int j=1;j<v[i].suly-1;j++) s[current][j]=s[last][j];
        for(int j=v[i].suly;j<=maxg;j++)
        {
            s[current][j]=max(s[last][j],s[last][j-v[i].suly]+v[i].penz);
        }
        swap(current,last);
    }
   cout<<s[last][maxg];
    return 0;
}