Cod sursa(job #2570841)

Utilizator betybety bety bety Data 4 martie 2020 19:38:10
Problema Loto Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#pragma GCC optimize ("-O2")
#include <fstream>

#include <algorithm>

#include <map>

using namespace std;

ifstream cin("loto.in");

ofstream cout("loto.out");

struct triplet

{

    int a,b,c;

};

map<int,pair<triplet,bool> > m;

const int lim=100+5;

int v[lim];

void afis(triplet w){

    cout<<w.a<<' '<<w.b<<' '<<w.c<<' ';

}

int main()

{
    ios_base::sync_with_stdio(false);
    cin.tie(0),cout.tie(0);

    int n,s;

    cin>>n>>s;

    for(int i=1;i<=n;++i)

        cin>>v[i];

    sort(v+1,v+n+1);

    for(int i=1;i<=n;++i)

    for(int j=1;j<=n and v[i]+v[j]<=s;++j)

    for(int k=1;k<=n and v[i]+v[j]+v[k]<=s;++k)

    {

        triplet aux;

        aux.a=v[i]; aux.b=v[j]; aux.c=v[k];

        m[v[i]+v[j]+v[k]]={aux,1};

        if(m[s-v[i]-v[j]-v[k]].second==1){

            afis(aux),afis(m[s-v[i]-v[j]-v[k]].first);

            return 0;

        }

    }

    cout<<-1;

    return 0;

}