Cod sursa(job #1677728)

Utilizator teoceltareconstantin teodor teoceltare Data 6 aprilie 2016 19:15:50
Problema Problema rucsacului Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include<iostream>
#include<fstream>
using namespace std;
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int n,m,A[3][10001],prof[5000],cost[5000],costmax,k=2,p=1,l;
void citire()
{
    fin>>n>>costmax;
    for(int i=1;i<=n;i++)
    {
        fin>>cost[i]>>prof[i];
    }
}
void parc()
{
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=costmax;j++)
        {
            if(cost[i]>j)
            {
                A[k][j]=A[p][j];
            }
            else
            {
                A[k][j]=max(A[k][j-1],prof[i]+A[p][j-cost[i]]);
                A[k][j]=max(A[k][j],A[p][j]);
            }
        }
        l=k;
        k=p;
        p=l;
    }
}
int main()
{
    citire();
    parc();
    fout<<A[(n+1)%2][costmax];
}