Cod sursa(job #2359167)

Utilizator DenisONIcBanu Denis Andrei DenisONIc Data 28 februarie 2019 18:07:41
Problema Loto Scor 85
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.16 kb
#include <bits/stdc++.h>
#define Nmax 102
using namespace std;

int n,s,A[Nmax];
set<int> S;

void afisare(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){
                    cout << A[i] << ' ' << A[j] << ' ' << A[k] << '\n';
                }
            }
        }
    }
}

int main()
{
    ios::sync_with_stdio(false);
    freopen("loto.in","r",stdin);
    freopen("loto.out","w",stdout);

    cin >> n >> s;
    for (int i=1;i<=n;i++) cin >> A[i];

    for (int i=1;i<=n;i++){
        for (int j=i;j<=n;j++){
            for (int k=j;k<=n;k++){
                S.insert(A[i] + A[j] + A[k]);
            }
        }
    }

    for (int i=1;i<=n;i++){
        for (int j=i;j<=n;j++){
            for (int k=j;k<=n;k++){
                if (S.find(s - A[i] - A[j] - A[k]) != S.end()){
                    cout << A[i] << ' ' << A[j] << ' ' << A[k] << ' ';
                    afisare(s - A[i] - A[j] - A[k]);
                    return 0;
                }
            }
        }
    }

    cout << -1 << '\n';

    return 0;
}