Cod sursa(job #1507608)

Utilizator raulmuresanRaul Muresan raulmuresan Data 21 octombrie 2015 19:21:05
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.84 kb
#include<fstream>
#include<iostream>
#include<vector>
#include <cstring>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");



int n,m,k,i,j,p,x,y,viz[10005],t,a[10005],b[10005],sol;



int main()
{
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>a[i]>>b[i];
        //viz[a[i]]=b[i];
//<<a[i]<<" "<<b[i]<<"\n";
    }
    for(i=1;i<=k;i++)
    {
        //viz[i]=-1;
    }
    for(i=1;i<=n;i++)
    {
        for(j=k-a[i];j>=0;j--)
        {
            if(viz[j]!=0 or j==0)
            {
                viz[j+a[i]]=max(viz[j+a[i]],viz[j]+b[i]);
                //fout<<j<<"\n";
                //viz[j+a[i]] = viz[k]+b[i];
            }
        }
    }
    sol=0;
    for(i=1;i<=k;i++)
    {
        //fout<<viz[i]<<" ";
        sol=max(sol,viz[i]);
    }
    fout<<sol<<"\n";

}