Cod sursa(job #1754959)

Utilizator xSliveSergiu xSlive Data 9 septembrie 2016 01:00:48
Problema Energii Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <iostream>
#include <fstream>

using namespace std;

int e[1005], c[1005], a[1005][1005], n, k, i, j;

void solve(){
    ofstream g("energii.out")
    for(i = 1; i <= n; i++)
        for(j = 1; j <= k; j++){
            a[i][j] = a[i - 1][j];
                if(j >= e[i])
                    a[i][j] = min(a[i][j], a[i-1][j - e[i]] + c[i]);
                else if(j <= e[i])
                    a[i][j] = min(a[i][j], c[i]);
            }
    if(a[n][k] == 10000000)
        g << "-1";
    else
        g << a[n][k];
    g.close();
}
void citeste(){
    ifstream f("energii.in");
    f >> n >> k;
    for( i = 1; i <= n; i++)
        f >> e[i] >> c[i];
    for(i = 0 ; i <= n ; ++ i)
        for( j = 1 ; j <= k ; ++ j)
            a[i][j] = 10000000;
    f.close();
}
int main()
{
    citeste();
    solve();
    return 0;
}