Cod sursa(job #2710810)

Utilizator vlad_butnaruVlad Butnaru vlad_butnaru Data 23 februarie 2021 09:22:47
Problema Energii Scor 65
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>
#define ll long long
//#define int ll
using namespace std;
ifstream in ("energii.in");
ofstream out ("energii.out");
int N, E;
vector <pair <int , int> > v;
int ans[23001];
main()
{
    in >> N >> E;
    for (int i = 1;i<=N;++i)
    {
        int a, b;
        in >> a >> b;
        v.push_back({a,b});
    }
    for (int i = 1;i<=23000;++i)
        ans[i] = 1<<30;
    for (auto i:v)
    {
        int eng = i.first;
        int cost = i.second;
        for (int j = 23000 - eng;j>=0;--j)
            if (ans[j])
                ans[j + eng] = min(ans[j + eng], ans[j] + cost);
        ans[eng] = min(ans[eng], cost);
    }
    int anss = 1<<30;
    for (int i = E; i<=15000;++i)
        anss = min (anss, ans[i]);
    out << anss << '\n';
    return 0;
}