Cod sursa(job #1711735)

Utilizator catalin_leca95Leca Mihai Catalin catalin_leca95 Data 1 iunie 2016 01:00:36
Problema Loto Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.06 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");

void afis(int n, int x, int *m)
{
    int i,j,k;
    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)
                {
                    g<<m[i]<<" "<<m[j]<<" "<<m[k]<<" ";
                    return;
                }
}

int main()
{
    int *v, *m, n ,S, nv=0;
    f>>n>>S;

    v=new int[n*n*n];
    m=new int[n];

    for(int i=1; i<=n; i++) f>>m[i];

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

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

    int i=1,j=nv;

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

    delete(v);
    delete(m);
    return 0;
}