Cod sursa(job #2570100)

Utilizator CarlaDianaCarla Diana CarlaDiana Data 4 martie 2020 15:07:14
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("rucsac.in");
ofstream fout ("rucsac.out");
int n,gmax,rez[10010];
pair<int,int> v[5010];
int main()
{
    fin>>n>>gmax;
    for(int i=1;i<=n;i++)
        fin>>v[i].first>>v[i].second;

    for(int i=v[1].first;i<=gmax;i++)
        rez[i]=v[1].second;

    for(int i=2;i<=n;i++)
    {
        for(int j=gmax;j>=v[i].first;j--)
            rez[j]=max(rez[j-v[i].first]+v[i].second,max(rez[j],rez[j-1]));
        for(int j=v[i].first-1;j;j--)
            rez[j]=max(rez[j],rez[j-1]);
    }
    fout<<rez[gmax];
    return 0;
}