Cod sursa(job #2201606)

Utilizator codrutciulacuciulacu codrut cristian codrutciulacu Data 5 mai 2018 11:39:35
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <stdio.h>
#include <algorithm>
#include <iomanip>

#define MAXG 5000001

int N, G;
int D[MAXG];

int main(){
    freopen("energii.in", "r", stdin);
    freopen("energii.out", "w", stdout);

    scanf("%d%d", &N, &G);
    for(int i = 1; i <= G; i++)
        D[i] = MAXG;

    for(int i = 1; i <= N; i++){
        int a, b;
        scanf("%d%d", &a, &b);

        for(int j = G; j >= 0; j--){
            if(j + a < G)
                D[j + a] = std::min(D[j+a], D[j]+b);
            else
                D[G] = std::min(D[G], D[j]+b);
        }
    }

    if(D[G] == MAXG)
        printf("-1");
    else
        printf("%d", D[G]);
    return 0;
}