Cod sursa(job #1609992)

Utilizator CronosClausCarare Claudiu CronosClaus Data 23 februarie 2016 10:44:45
Problema Lupul Urias si Rau Scor 8
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>

using namespace std;

ifstream f("lupu.in");
ofstream g("lupu.out");

int main()
{
    long int z=1,z2,n,q,w,max=0,maxi=0,s=0;
    int x,l;
    f>>n>>x>>l;
    long int a[n],b[n];
    for(int i=1;i<=n;i++)
    {
            f>>q>>w;
            if(q<=x)
            {
                a[z]=q;
                b[z]=w;
                z++;
            }
    }
    bool k=0;
    while(!k)
    {
        max=0;maxi=0;
        z2=1;
        for(int j=1;j<z;j++)
        {
            if(b[j]>max)
            {
                max=b[j];
                maxi=j;
            }
        }
        if(max>0)
        {
            s=s+b[maxi];
            a[maxi]=l+1;
            b[maxi]=0;
            for(int i=1;i<z;i++)
            {
                if(a[i]+l<=x)
                {
                    a[z2]=a[i]+l;
                    b[z2]=b[i];
                    z2++;
                }
            }
            z=z2;
        }
        else
            k=1;
    }
    g<<s;
    return 0;
}