Cod sursa(job #1994159)

Utilizator alex2209alexPavel Alexandru alex2209alex Data 24 iunie 2017 11:52:03
Problema Heavy metal Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.44 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("triunghi5.in");
ofstream g("triunghi5.out");
unsigned long long c,n,k,mi,i,v[90],a,b,j,sf;
int main()
{
    f>>c>>n>>k;
    if(c==1)
    {
        mi=2000001;
        for(i=1; i<=n; i++)
        {
            f>>a;
            if(a<mi)
            {
                mi=a;
            }
        }
        i=3;
        v[1]=mi;
        v[2]=mi;
        g<<v[1]<<" "<<v[2]<<" ";
        while(i<=k)
        {
            v[i]=v[i-2]+v[i-1];
            g<<v[i]<<" ";
            i++;
        }
    }
    else
    {
        for(i=1; i<=n; i++)
        {
            f>>v[i];
        }
        sort(v+1,v+n);
        k=k-n;
        sf=1;
        a=1;
        b=1;
        while(k>0)
        {
            if(a+b+1<=v[sf] && b+v[sf]<v[sf+1] && sf<=n)
            {
                g<<b<<" ";
                c=a+b+1;
                a=b;
                b=c;
                k--;
            }
            else if(sf<=n)
            {
                a=b;
                b=v[sf];
                sf++;
            }
            else
            {
                break;
            }
        }
        a=v[n];
        b=v[n]+v[n-1]+1;
        g<<v[n-1]<<" "<<v[n]<<" ";
        while(k>0)
        {
            g<<b<<" ";
            c=a+b+1;
            a=b;
            b=c;
            k--;
        }
    }
    return 0;
}