Cod sursa(job #3248513)

Utilizator AndreiNicolaescuEric Paturan AndreiNicolaescu Data 12 octombrie 2024 09:38:34
Problema Energii Scor 95
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <vector>
using namespace std;
ifstream cin("energii.in");
ofstream cout("energii.out");
const int Vmax = 10000;
int n, G, ans = Vmax;
struct ob
{
    int w, c;
};
vector <int> dp;
vector<ob> v;
int main()
{
    cin >> n >> G;
    v.resize(n+1);
    for(int i=1; i<=n; i++)
        cin >> v[i].w >> v[i].c;
    dp.assign(Vmax, Vmax);
    dp[0] = 0;
    for(int i=1; i<=n; i++)
        for(int j=Vmax - v[i].w ; j>=0; j--)
            if(dp[j + v[i].w]  > dp[j] + v[i].c)
                dp[j + v[i].w] = dp[j] + v[i].c;
    for(int i=G; i<Vmax; i++)
        ans = min(dp[i], ans);
    cout << ans;
    return 0;
}