Cod sursa(job #1711831)

Utilizator alexirimiaIrimia Alexandru alexirimia Data 1 iunie 2016 11:39:24
Problema Loto Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream in("loto.in");
ofstream out("loto.out");
#define MAX 999999
int v[MAX], a[100];

void afisare(int n, int x)
{
    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]==x)
                {
                    out<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
                    return;

                }
}
int main()
{
    int n,S, p=0;
    in>>n>>S;
    for(int i=1; i<=n; i++)
        in>>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--;
    }

    out<<-1;
    return 0;
}