Cod sursa(job #1278450)

Utilizator PetreCatalinFMI Petre Catalin PetreCatalin Data 28 noiembrie 2014 21:49:38
Problema Loto Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.99 kb
#include <fstream>
#include <unordered_set>

using namespace std;

unordered_set<long long> hash;

long long a[105],i,n,s,nr,ok,j,k;

int main()
{
    ifstream f("loto.in");
    ofstream g("loto.out");
    f>>n>>s;
    for (i=1;i<=n;++i)
        f>>a[i];

    ok=0;
    for (i=1;i<=n;++i)
        for (j=1;j<=n;++j)
            for (k=1;k<=n;++k) {
                hash.insert(a[i]+a[j]+a[k]);
                if (hash.find(s-a[i]-a[j]-a[k])) {
                    g<<a[i]<<' '<<a[j]<<' '<<a[k]<<' ';
                    nr=s-a[i]-a[j]-a[k];
                    ok=1;break;
                }
            }

        if (ok==0) g<<"-1";
        else {
            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]==nr)
                        g<<a[i]<<' '<<a[j]<<' '<<a[k];
                        break;
                    }
        }

    f.close();
    g.close();
    return 0;
}