Cod sursa(job #2411852)

Utilizator MariusblockMoga Marius-Ioan Mariusblock Data 21 aprilie 2019 13:06:12
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <bits/stdc++.h>

using namespace std;

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

const int inf = 1<<30;

int v[1000006];
int gc[10005];
int ge[10005];

int main()
{
    int n,m,i,j,sum = 0;
    fin>>n>>m;
    for(i = 1; i <= n; i++){
        fin>>ge[i]>>gc[i];
        sum+=ge[i];
    }
    if(sum < m){
        fout<<"-1"<<endl;
        return 0;
    }
    for(i = 1; i <= sum; i++){
        v[i] = inf;
    }
    for(i = 1; i <= n; i++){
        for(j = m; j >= 0; j--){
            v[min(m,j+ge[i])] = min(v[min(m,j+ge[i])],v[j] + gc[i]);
        }
    }
    fout<<v[m]<<endl;
    return 0;
}