Cod sursa(job #1722080)

Utilizator Ruxandra985Nanu Ruxandra Laura Ruxandra985 Data 27 iunie 2016 11:13:34
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <cstdio>
#include <algorithm>
#include <iostream>
#define INF 1000000000

using namespace std;
int d[10001];
int main()
{
    FILE *fin=fopen ("energii.in","r");
    FILE *fout=fopen ("energii.out","w");
    int n,k,s=0,x,y,j,sol=INF;
    fscanf (fin, "%d%d", &n, &k);
    for (int i=1;i<=10000;i++)
        d[i]=INF;
    for (int i=1;i<=n;i++){
        fscanf (fin,"%d%d",&x,&y);
        s=min(s+x,10000);
        for (j=s;j>=x;j--){
            d[j]=min(d[j],d[j-x]+y);
            if (j>=k)
                sol=min(sol,d[j]);
        }
    }
    if (sol==INF)
        fprintf (fout,"-1");
    else fprintf (fout,"%d",sol);
    return 0;
}