Cod sursa(job #1731761)

Utilizator LeVladzCiuperceanu Vlad LeVladz Data 19 iulie 2016 20:26:26
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.95 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int v[10000001],a[101];
int n,S,p,i,j,k;
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()
{
    fin>>n>>S;
    for(i=1;i<=n;i++)
        fin>>a[i];
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            for(k=1;k<=n;k++)
            {
                v[++p]=a[i]+a[j]+a[k];
            }
    sort(v+1,v+p+1);
    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;
}