Cod sursa(job #2411926)

Utilizator MariusblockMoga Marius-Ioan Mariusblock Data 21 aprilie 2019 14:08:36
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 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,e,c;
    fin>>n>>m;
    for(i = 1; i <= m; i++){
        v[i] = inf;
    }
    for(i = 1; i <= n; i++){
        fin>>e>>c;
        for(j = m; j >= 0; j--){
            if(j+e <= m && v[j] != inf){
                v[j+e] = min(v[j+e],v[j]+c);
            }else if(j+e > m){
                v[m] = min(v[m],v[j]+c);
            }
        }
    }
    if(v[m] == inf){
        fout<<"-1"<<endl;
        return 0;
    }
    fout<<v[m]<<endl;
    return 0;
}