Cod sursa(job #1084139)

Utilizator sebinechitasebi nechita sebinechita Data 16 ianuarie 2014 19:10:44
Problema Loto Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.22 kb
#include <iostream>
#include <fstream>
#include <algorithm>
#include <map>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");

struct sebi{
    int second[3];
    bool first;
};

map <int, sebi> a;
int G[7], d;

int v[105];
int n, S, i, j, k, s;


inline void ack(int x)
{
    G[++d]=x;
}
sebi f;
int main()
{
    fin>>n>>S;

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

                s=v[i]+v[j]+v[k];

                f.first=1;
                f.second[0]=v[i];
                f.second[1]=v[j];
                f.second[2]=v[k];
                a[s]=f;
                f=a[S-s];
                if(f.first)
                {
                    ack(v[i]);
                    ack(v[j]);
                    ack(v[k]);
                    ack(f.second[0]);
                    ack(f.second[1]);
                    ack(f.second[2]);
                    goto sebi;
                }
            }
        }
    }
    fout<<"-1";
    return 0;
    sebi:

    sort(G+1, G+7);
    for(i=1;i<=6;i++)
    {
        fout<<G[i]<<" ";
    }

}