Cod sursa(job #2493497)

Utilizator Simi_bogdanSimion Bogdan Dumitru Simi_bogdan Data 16 noiembrie 2019 13:12:08
Problema Problema rucsacului Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include<bits/stdc++.h>
using namespace std;
ifstream in("rucsac.in");
ofstream out("rucsac.out");
#define nrmax 5000
int m[nrmax+5][nrmax+5],w[nrmax+5],p[nrmax+5],s[nrmax+1];
int N,G;
void read()
{
    int i;
    in>>N>>G;
    for(int i=1;i<=N;++i)
        in>>w[i]>>p[i];
}
void solve()
{
    s[0]=0;
    int solutie=0;
    for( int i = 1; i <= N; ++i)
		for( int j = G - w[i]; j >= 0; --j){
            if(s[j+w[i]]<s[j]+p[i])
        {
            s[j+w[i]]=s[j]+p[i];


        } if(s[j+w[i]]>solutie)
        solutie=s[j+w[i]];
		}
        out<<solutie;
}
int main()
{
    read();
    solve();
    return 0;

}