Cod sursa(job #2189398)

Utilizator AlexandruPaulSirbu Alex AlexandruPaul Data 28 martie 2018 10:28:40
Problema Problema rucsacului Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <iostream>
#include <fstream>
#include <cassert>
#define Maxx 50001
using namespace std;
struct emilutz
{
    int w,c;
}A[Maxx];
ifstream fin("rucsac.in");
ofstream fout("rucsac.out");
int Dp[Maxx],ans,i,j,G,n,sol;
int main()
{
    fin>>n>>G;
    for (i=1;i<=n;i++) fin>>A[i].w>>A[i].c;
    Dp[0]=0;
    for (i=1;i<=n;i++)
    {
        for (j=G-A[i].w;j>=0;j--)
        {
            if (Dp[j+A[i].w]<Dp[j]+A[i].c)
            {
                Dp[j+A[i].w]=Dp[j]+A[i].c;
                sol=max(sol,Dp[j+A[i].w]);
            }
        }
    }
    fout<<sol;
    return 0;
}