Cod sursa(job #3132194)

Utilizator AnacrmCaraiman Ana Anacrm Data 21 mai 2023 23:54:55
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.36 kb

#include<ext/hash_set>
#include <bits/stdc++.h>

using namespace std;

ifstream f("loto.in");
ofstream r("loto.out");
vector<int> fin;
__gnu_cxx::hash_set<int> h;
int n, s, a[101],sw=0;
int main() {
    int i, j, k, suma;

    for(i=1; i<=n; i++)
    {
    f>>a[i];
    }

    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            for(k=1; k<=n; k++) {
                suma = a[i] + a[j] + a[k];
                if(suma < s)
                    h.insert(suma);
            }

    suma = -1;
    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            for(k=1; k<=n; k++) {
                suma = a[i] + a[j] + a[k];
                if(h.find(s-suma) != h.end()) {
                    fin.push_back(a[i]);
                    fin.push_back(a[j]);
                    fin.push_back(a[k]);
                    s=s-suma;
                    i = n+1;
                    j=n+1;
                    k=n+1;
                }
            }

    for(i=1; i<=n; i++)
        for(j=1; j<=n; j++)
            for(k=1; k<=n; k++) {
                suma = a[i] + a[j] + a[k];
                if(s == suma) {
                    r<<a[i]<<' '<<a[j]<<' '<<a[k]<<' ';
                    for(vector<int>:: iterator m=fin.begin(); m!=fin.end(); ++m)
                        r<<*m;
                    sw=1;
                }
            }
    if (!sw)
    {
        r<<-1;
    }


    return 0;
}