Cod sursa(job #2297792)

Utilizator vladboss2323Ciorica Vlad vladboss2323 Data 6 decembrie 2018 16:43:29
Problema Energii Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <iostream>
#include <fstream>
using namespace std;

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

const int N=1005;
const int W=5005;
const int MAX=(1<<30);
int c[N],p[N],n,k,cost[W];


int main()
{
    int i,j;
    in>>n>>k;
    for(i=1; i<=n; i++)
        in>>c[i]>>p[i];
    for(i=1; i<=k; i++)
        cost[i]=MAX;
    for(i=1; i<=n; i++)
    {
        for(j=k; j>=0; j--)
        {
            if(j<=c[i])
                cost[j]=min(cost[j],p[i]);
            else
                cost[j]=min(cost[j],cost[j-c[i]]+p[i]);
        }
        /*for(j=1; j<=k; j++)
            out<<cost[j]<<" ";
        out<<endl;
        */
    }
    if(cost[k] != MAX)
        out<<cost[k];
    else
        out<<-1;
    return 0;
}