Cod sursa(job #1150316)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 22 martie 2014 20:33:15
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <cstdio>

using namespace std;
int v[10005],N,Gmx,G,Poz,o,d,i,mx;
void verifica()
{
    for(d=Gmx;d>=1;d--)
    {
        if(v[d]!=0)
        {
            if((v[d+Poz]==0 || v[d]+G>v[d+Poz]) && d+Poz<=Gmx )
            {
                v[d+Poz]=v[d]+G;
                if(v[d+Poz]>mx)
                    mx=v[d+Poz];
            }
        }
    }
    if(v[Poz]==0 || G>v[Poz])
        v[Poz]=G;
}
int main()
{
    freopen("rucsac.in","r",stdin);
    freopen("rucsac.out","w",stdout);
    cin>>N>>Gmx;
    cin>>Poz>>G;
    v[Poz]=G;
    for(i=1;i<N;i++)
    {
        cin>>Poz>>G;
        verifica();
    }
    cout<<mx;
    return 0;
}