Cod sursa(job #1677692)

Utilizator teoceltareconstantin teodor teoceltare Data 6 aprilie 2016 18:48:30
Problema Problema rucsacului Scor 65
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 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;
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[2][j]=A[1][j];
            }
            else
            {
                A[2][j]=max(A[2][j-1],prof[i]+A[1][j-cost[i]]);
                A[2][j]=max(A[2][j],A[1][j]);
            }
        }
        for(int j=1;j<=costmax;j++)
        {
            A[1][j]=A[2][j];
            A[2][j]=0;
        }
    }
}
int main()
{
    citire();
    parc();
    fout<<A[1][costmax];
}