Cod sursa(job #2130486)

Utilizator jumareastefanstefan jumarea jumareastefan Data 13 februarie 2018 18:30:04
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

ifstream f("scmax.in");
ofstream g("scmax.out");

long long a[200005], w[200005], maxi, poz, lmax, n, i, j, p[200005], s[200005], smax, x, sol;

void din()
{
    s[0]=0;
    sol=0;
    for (i=1; i<=n; i++)
    {
        for (j=x-w[i]; j>=0; j--)
            {if (s[j+w[i]]<s[j]+a[i])
                s[j+a[i]]=a[i]+s[j];
            if (s[j+w[i]]>sol)
        sol=s[j+w[i]];
    }}
}

void afis()
{
    i=x;
    while (i!=0)
    {
        g<<s[i]<<" ";
        i=i-s[i];
    }
    //for (i=1; i<=smax; i++)
      //  g<<s[i]<<" ";
}

int main()
{
    f>>n>>x;
    for (i=1; i<=n; i++)
        f>>w[i]>>a[i];
    din();
   /* for (i=1; i<=n; i++)
        g<<l[i]<<" ";
        for (i=1; i<=n; i++)
            g<<p[i]<<" ";*/
  //  afis();
  g<<sol;
}