Cod sursa(job #1853247)

Utilizator AndreiITCuriman Andrei AndreiIT Data 21 ianuarie 2017 15:35:54
Problema Energii Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#define mini(a, b) ( (a)<(b) ? (a) : (b) )

using namespace std;
ifstream cin ("energii.in");
ofstream cout ("energii.out");

const int MAX = 5e4 + 5, LIM = 1e4 + 5, INF = 1e4 + 1;

int n, caut, cost, cg, v[MAX], rez = MAX;

int main()
{
    cin>>n>>caut;

    for(int i=1; i<=MAX; ++i)
        v[i] = INF;
    v[0] = 0;
    for(int i=1; i<=n; ++i)
    {
        cin>>cg>>cost;
        for(int j=caut; j>=0; --j)
            if(v[j] != INF and v[j+cg] > v[j] + cost){
                v[j+cg] = v[j] + cost;
                if(j+cg >= caut){
                    rez = mini(rez, v[j+cg]);
                }
            }
    }
    cout<<rez;
    return 0;
}