Cod sursa(job #3336762)

Utilizator Err0rSome Error Err0r Data 25 ianuarie 2026 19:02:13
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <climits>
#include <algorithm>
#include <cstring>
using namespace std;

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

//declaring outside main for zeros
int d[10001];

int main()
{
   /// declaring
   int n,i,j,p[5001],g[5001],G,maxtotal=INT_MIN;

   ////reading
   cin >> n>> G;
   for (i=1;i<=n;i++){
   cin >> g[i]>>p[i];
   }

   // algorithm
   d[0]=1;
   for (i=0;i<=n;i++){
      for (j=G;j>=0;j--){
         if (d[j]!=0&&j+g[i]<=G){
            d[j+g[i]]=max(d[j+g[i]],d[j]+p[i]);
            if (d[j+g[i]]>maxtotal)
            maxtotal=d[j+g[i]];
         }
      }
   }
   

   //outputting
 cout << maxtotal-1;

   //test 
 
   }