Cod sursa(job #1514136)

Utilizator sergiunascaSergiu Nasca sergiunasca Data 30 octombrie 2015 17:53:36
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb
//
//  main.cpp
//  Rucsac
//
//  Created by Nasca Sergiu Alin on 30/10/15.
//  Copyright © 2015 Nasca Sergiu Alin. All rights reserved.
//

#include <iostream>
#include <fstream>
#define cout std::cout
#define cin std::cin
#define ifstream std::ifstream
#define ofstream std::ofstream

int n,q,a[10005],l,p;

int main()
{
    // insert code here...
    ifstream fin("rucsac.in");
    ofstream fout("rucsac.out");
    fin>>n>>q;
    for(int i=1;i<=n;++i)
    {
        fin>>l>>p;
        for(int j=q-l;j>=0;--j)
        {
            if(j==0 || a[j]!=0)
            {
                a[j+l] = std::max(a[j+l],a[j]+p);
            }
        }
    }
    int maxim = -(1<<30);
    for(int i=1;i<=q;++i)maxim = std::max(maxim,a[i]);
    fout<<maxim;
    return 0;
}