Cod sursa(job #2534231)

Utilizator Theo20067Cismaru Theodor-Alexe Theo20067 Data 30 ianuarie 2020 11:44:26
Problema Problema rucsacului Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <fstream>
#include <bitset>
using namespace std;
int D[10010];
int n,m,G,g,i,j,p,sol;
bitset<10010> V;
int main()
{
    ifstream fin ("rucsac.in");
    ofstream fout("rucsac.out");
    fin>>n>>G;
    V[0]=1;
    m=1;
    for(i=1;i<=n;i++)
    {
        fin>>g>>p;
        m=m+g;
        if(m>G)
            m=G;
        for(j=m;j>=0;j--)
        {
            if(V[j]==1)
            {
                if(j+g<=G&&D[j+g]<D[j]+p)
                {
                    V[j+g]=1;
                    D[j+g]=D[j]+p;
                    sol=max(sol,D[j+g]);
                }
            }
        }
    }
    fout<<sol;
    return 0;
}