Cod sursa(job #3348902)

Utilizator RazvanVelcuVelcu Razvan RazvanVelcu Data 24 martie 2026 16:52:29
Problema Energii Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <bits/stdc++.h>

using namespace std;

#define int long long

struct nigger
{
    int cost;
    int nr;
};
nigger v[100001];

bool cmp(nigger a, nigger b)
{
    if (a.cost == b.cost)
    {
        return a.nr < b.nr;
    }
    return a.cost < b.cost;
}
int dp[100001];

signed main()
{
    ifstream cin("energii.in");
    ofstream cout("energii.out");
    int n, k;
    cin >> n >> k;
    for (int i = 1; i <= n; i++)
    {
        cin >> v[i].nr >> v[i].cost;
    }
    sort(v + 1, v + n + 1, cmp);
    for (int i = 1; i <= 5005; i++)
    {
        dp[i] = INT_MAX;
    }
    dp[0] = 0;
    for (int i = 1; i <= n; i++)
    {
        for (int j = k - v[i].nr; j >= 0; j--)
        {
            dp[v[i].nr + j] = min(dp[v[i].nr + j], dp[j] + v[i].cost);
        }
    }
    int minim = INT_MAX;
    int ras = 0;
    for (int i = k; i <= 5005; i++)
    {
        if (minim > dp[i])
        {
            minim = dp[i];
            ras = i;

        }
    }
    cout << minim;

    return 0;
}