Cod sursa(job #982586)

Utilizator DaNutZ2UuUUBB Bora Dan DaNutZ2UuU Data 9 august 2013 14:51:40
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.66 kb
#include <fstream>
#include <cstring>
#include <algorithm>
#define N 5001
#define INF 1<<30
using namespace std;

FILE *fin=fopen("energii.in", "r"), *fout=fopen("energii.out", "w");

int d[2][N];

int main ()
{
    freopen ("energii.in", "r", stdin);
    freopen ("energii.out", "w", stdout);
    int n, w, i, j, a, b;
    bool k = 0;
    fscanf (fin, "%d%d", &n, &w);
    for (i = 1; i <= w; ++i)
        d[0][i] = INF;
    for (i = 1; i <= n; ++i) {
        fscanf (fin, "%d%d", &a, &b);
        k = !k;
        for (j = 1; j <= w; ++j)
            if (j <= a)
                d[k][j] = min(d[!k][j], b);
            else
                d[k][j] = min(d[!k][j], d[!k][j - a] + b);
    }
    if (d[k][w] == INF)
        fprintf(fout, "-1");
    else
        fprintf(fout, "%d", d[k][w]);

}

/*
void SubMult()
{
Ingrediente: o cana cu orez; 3 cani cu lapte; 75 g de unt fara sare; 4 cesti cu zahar; un plic cu vanilie; 25 g coaja rasa de lamaie; 25 g de coaja rasa de portocala.

Mod de preparare: Orezul cu lapte este un desert delicios, pe care il poti pregati astfel: spala orezul si fierbe-l timp de 10 minute cu o ceasca de apa. Dupa cele zece minute scurge apa. Intr-un alt vas, pune la fiert laptele si coaja rasa de lamaie si portocala.  Cand incepe sa dea in clocot, adauga orezul. Incorporeaza untul, adauga vanilia, zaharul si amesteca-le bine, pana se incorporeaza. Dupa ce s-a topit untul si incepe sa clocoteasca ia-l de pe foc. La final, poti sa presari scortisoara.

Citeste pe Foodstory: http://www.foodstory.ro/cum-sa-guides/reteta-de-orez-cu-lapte-cum-sa-gatesti-desertul-copilariei#ixzz2bTZ2iQuJ
Follow us: foodstory.ro on Facebook
}*/