Cod sursa(job #1403402)

Utilizator bt.panteaPantea Beniamin bt.pantea Data 27 martie 2015 11:43:09
Problema Energii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.01 kb
#include <iostream>
#include <fstream>
#define INF 100000000
using namespace std;
ifstream f ("energii.in");
ofstream g ("energii.out");
int gen,w,i,j,x,y,Min,Max;
struct aaa
{
    int c;
    bool p;
}v[10000];
int main()
{
    f>>gen>>w;
    for (i=1;i<=gen;i++)
    {
        f>>x>>y;
        for (j=w;j>=1;j--)
        {
            if (v[j].p==true)
            {
                if (v[j+x].p==false)
                {
                    v[j+x].p=true;
                    v[j+x].c=v[j].c+y;
                }
                else if (v[j].c+y<v[j+x].c) v[j+x].c=v[j].c+y;
            }
        }
        if (v[x].p==false)
        {
            v[x].p=true;
            v[x].c=y;
        }
        else if (v[x].c>y) v[x].c=y;
        if (x>Max) Max=x;
    }
    Min=INF;
    for (i=w;i<=w+Max;i++)
        if (Min>v[i].c&&v[i].p==true)
        {
            Min=v[i].c;
        }
    if (Min==INF)
    {
        g<<-1;
        return 0;
    }
    g<<Min;
    return 0;
}