Cod sursa(job #2176270)

Utilizator dumitrescu_andreiDumitrescu Andrei dumitrescu_andrei Data 16 martie 2018 22:04:10
Problema Problema rucsacului Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
using namespace std;

ifstream f("rucsac.in");
ofstream g("rucsac.out");

long long n,G,greutate[5005],cost[5005],total[10005];

int main()
{
    f>>n>>G;
    for(long long i=1;i<=n;++i)
        f>>greutate[i]>>cost[i];

    memset(total,INF,sizeof(total));
    total[0]=0;

    for(long long i=1;i<=n;++i)
        for(long long j=G;j>=0;--j)
        if(total[j]!=INF && j+greutate[i]<=G)
        {
            if(total[j+greutate[i]]<total[j]+cost[i] || total[j+greutate[i]]==INF)
            {
                total[j+greutate[i]]=total[j]+cost[i];
            }
        }
    g<<total[G];
    return 0;
}