Cod sursa(job #1711838)

Utilizator alexirimiaIrimia Alexandru alexirimia Data 1 iunie 2016 11:48:34
Problema Loto Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.03 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream x("loto.in");
ofstream y("loto.out");
#define MAX 1000001
int v[MAX], a[100],n,S, p=0;;
void citire()
{

    x>>n>>S;
    for(int i=1; i<=n; i++)
        x>>a[i];
}

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)
                {
                    y<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
                    return;
                }
}
int main()
{
  citire ();
    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--;
    }
    y<<-1;
    return 0;
}