Cod sursa(job #1729256)

Utilizator GoogalAbabei Daniel Googal Data 14 iulie 2016 15:11:04
Problema Loto Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.04 kb
#include <fstream>
#include <algorithm>
#define nmax 999999

using namespace std;

ifstream fin("loto.in");
ofstream fout("loto.out");

int v[nmax], a[101];

void afisare(int n, int z)
{
    int i,j,k;
    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            for(k=1; k<=n; k++)
                if (a[i]+a[j]+a[k]==z)
                {
                    fout<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
                    return;

                }
}
int main()
{
    int n,S, p=0;
    fin>>n>>S;
    for(int i=1; i<=n; i++)
        fin>>a[i];

    for(int i=1; i<=n; i++)
        for(int j=1; j<=n; j++)
            for(int k=1; k<=n; k++)
            {
                p++;
                v[p]=a[i]+a[j]+a[k];
            }

    sort (v+1,v+p+1);

    int i=1,j=p;

    while(i<=j)

    {
        if(v[i]+v[j]==S)
        {
            afisare (n,v[i]);
            afisare (n,v[j]);
            return  0;
        }
        else if(v[i]+v[j]<S) i++;
        else j--;
    }

    fout<<-1;
    return 0;
}