Cod sursa(job #2971148)

Utilizator 222cezarCezar Stilpeanu 222cezar Data 26 ianuarie 2023 18:57:33
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <algorithm>
#include <iomanip>
#pragma GCC optimize("Ofast")
#pragma GCC target("sse4")
using namespace std;

int n, gmax, w[5001], p[5001], d[10001];
ifstream cin("rucsac.in");
ofstream cout("rucsac.out");

int main()
{
  cin >> n >> gmax;
  for(int i = 1; i <= n; i++)
  {
    cin >> w[i] >> p[i];
  }
  d[0] = 0;
  int sol = 0;
  for(int i = 1; i <= n; i++)
    for(int j = gmax - w[i]; j >= 0; --j)
    {
      if(d[j + w[i]] < d[j] + p[i])
      {
        d[j + w[i]] = d[j] + p[i];
        if(d[j+w[i]] > sol)
          sol = d[j + w[i]];
      }
    }
  cout << sol;
  return 0;
}