Cod sursa(job #3218221)

Utilizator profinfo114Prof Info profinfo114 Data 26 martie 2024 16:35:19
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>
#define MAXN  1003
#define MAXDP 10003
#define INF   1000000100
using namespace std;
int g,w,dp[MAXDP];
pair<int, int> v[MAXN];

ifstream fin("energii.in");
ofstream fout("energii.out");

int main()
{
    fin >> g >> w;
    for(int i = 1; i <= g; i++){
        fin >> v[i].first >> v[i].second;
    }
    for(int i = 1; i < MAXDP; i++){
        dp[i] = INF;
    }
    for(int i = 1; i <= g; i++){
        for(int j = MAXDP-1; j >= v[i].first; j--){
            dp[j] = min(dp[j], dp[j-v[i].first]+v[i].second);
        }
    }
    int ans = INF;
    for(int i = w; i < MAXDP; i++){
        ans = min(ans, dp[i]);
    }
    fout << ((ans==INF)?-1:ans);
    return 0;
}