Cod sursa(job #2414628)

Utilizator Andrei012Trache Andrei Andrei012 Data 24 aprilie 2019 20:33:05
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

int v[10001];

int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);

    int n,gmax,g,p,i,j,max1,nr;
    cin>>n>>gmax;
    cin>>g>>p;
    v[g]=p;
    for(i=2;i<=n;i++){
        cin>>g>>p;
        for(j=gmax-g;j>=1;j--)
            if(v[j]!=0 && j+g<=gmax){
                nr=p+v[j];
                if(nr>v[g+j])
                    v[g+j]=nr;
            }
        if(p>v[g])
            v[g]=p;
    }
    max1=0;
    for(i=1;i<=gmax;i++)
        if(v[i]>max1)
            max1=v[i];
    cout<<max1;
    return 0;
}