Cod sursa(job #1769212)

Utilizator mjmilan11Mujdar Milan mjmilan11 Data 2 octombrie 2016 10:55:23
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("rucsac.in");
ofstream fout("rucsac.out");

int a[10001],s,w[5001],p[5001];
int N,G,i,j;

int main(){


    fin >> N >> G;
    s=0;
    for(i=0;i<=G;i++)
    {
       a[i]=0;
    }
    for(i=1;i<=N;i++)
    {
        fin >> w[i] >> p[i];
    }
    for(i=1;i<=N;i++)
    {
        for(j=G-w[i];j>=0;j--)
        {
            if(a[j+w[i]]<a[j]+p[i])
            {
                a[j+w[i]]=a[j]+p[i];
                if(a[j+w[i]]>s)
                {
                    s=a[j+w[i]];
                }
            }
        }
    }
    fout << s;
    return 0;
}