Cod sursa(job #1729253)

Utilizator GoogalAbabei Daniel Googal Data 14 iulie 2016 15:08:32
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <fstream>
#include <algorithm>
#define nmax 1000001
#define mmax 101

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

int v[nmax], m[mmax],n ,s, z=0,i,j,k;
void afis(int n, int x)
{

    for(i=1;i<=n;i++)
    for(j=1;j<=n;j++)
    for(k=1;k<=n;k++)
    if(m[i]+m[j]+m[k]==x)fout<<m[i]<<" "<<m[j]<<" "<<m[k]<<" ";

}

int main()
{

    fin>>n>>s;

    for(i=1; i<=n; i++) fin>>m[i];
    for(i=1; i<=n; i++)
    for(j=1; j<=n; j++)
    for(k=1; k<=n; k++)
            {z++;
             v[z]=m[i]+m[j]+m[k];
            }

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

    i=1;j=z;

    while(i<=j)
    {
        if(v[i]+v[j]==s)
        {
            afis(n,v[i]);
            afis(n,v[j]);
            return 0;
        }
        else if(v[i]+v[j]<s)    i++;
        else    j--;
    }
    fout<<-1;

    return 0;
}