Cod sursa(job #3226178)

Utilizator aeru1Ianos Alex-Marian aeru1 Data 20 aprilie 2024 13:41:23
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

#define TITLE "energii"
#define ll long long
#define MaxN 1011

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

ll dp[20001];
int v[MaxN];

int solve()
{
    int n;
    f>>n;
    int MaxSum;
    f>>MaxSum;
    for(int i=0; i<20001; i++)
        dp[i]=10001000;
    for(int i=1; i<=n; i++)
    {
        ll G,P;
        f>>G>>P;
        if(G==0)
            continue;
        for(int j=MaxSum-1; j>0; j--)
            if(dp[j]!=10001000)
                dp[j+G]=min(dp[j+G],dp[j]+P);
        dp[G]=min(dp[G],P);
    }
    ll answer=10001000;
    for(int i=MaxSum; i<20001; i++)
        answer=min(answer,dp[i]);
    g<<answer<<' ';
    return 0;
}

int main()
{
    solve();
    return 0;
}