Cod sursa(job #2382786)

Utilizator eduardcadarCadar Eduard eduardcadar Data 18 martie 2019 17:59:16
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Teme Pregatire ACM Unibuc 2014, Anul I Marime 0.75 kb
#include <fstream>
#include <unordered_set>
#include <algorithm>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
int n,S,a[101];
unordered_set <int> v;
void afis(int s) {
    for (int i=1;i<=n;++i) for (int j=i;j<=n;++j) for (int k=j;k<=n;++k) if (a[i]+a[j]+a[k]==s) {
        g<<a[i]<<' '<<a[j]<<' '<<a[k];
        return;
    }
}
int main()
{
    f>>n>>S;
    for (int i=1;i<=n;i++) f>>a[i];
    for (int i=1;i<=n;++i) for (int j=i;j<=n;++j) for (int k=j;k<=n;++k) v.insert(a[i]+a[j]+a[k]);
    for (unordered_set <int>::iterator it=v.begin();it!=v.end();++it) if (v.find(S-*it)!=v.end()) {
        afis(*it);
        g<<' ';
        afis(S-*it);
        g<<'\n';
        exit(0);
    }
    g<<"-1\n";
    return 0;
}