Cod sursa(job #2489525)

Utilizator GabyD002Dobrita Gabriel GabyD002 Data 8 noiembrie 2019 21:07:56
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
#define NM 10010
#define oo (1<<30)
#define w first
#define p second
using namespace std;
ifstream f("energii.in");
ofstream g("energii.out");

int n,gMax,dp[2][NM];

pair<int,int> v[NM/10];

int main()
{   f>>n>>gMax;
    for(int i=1; i<=n; i++)
        f>>v[i].w>>v[i].p;
    for(int i=1; i<NM; i++)
        dp[0][i]=oo;
    for(int q=1,i=1; i<=n; q=1-q,i++)
        for(int j=1; j<NM; j++)
        {   dp[q][j]=dp[1-q][j];
            if(v[i].w<=j)
                dp[q][j]=min(dp[q][j],dp[1-q][j-v[i].w]+v[i].p);
        }
    int eMin=oo;
    for(int i=gMax; i<NM-8; i++)
        eMin=min(eMin,dp[1][i]);
    g<<(eMin==oo ? -1 : eMin);
    return 0;
}