Cod sursa(job #2730858)

Utilizator PopescuMihneaPopescu Mihnea-Valentin PopescuMihnea Data 26 martie 2021 22:51:05
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.18 kb
#include <iostream>
#include <fstream>
#include <map>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f ("loto.in");
ofstream g ("loto.out");

int main()
{
    int N,S,i,j,k,sum_cautat;
    bool ok;
    map<int,int> dict;
    f>>N>>S;
    vector <int> v(N);
    for (i=0; i<N; i++)
        f>>v[i];
    sort (v.begin(),v.end());
    for (i=0; i<N; i++)
        for (j=i; j<N; j++)
            for (k=j; k<N; k++)
                dict[v[i]+v[j]+v[k]]=1;
    for (i=0; i<N && !ok; i++)
        for (j=i; j<N && !ok; j++)
            for (k=j; k<N && !ok; k++)
                if (dict[S-v[i]-v[j]-v[k]])
                {
                    ok=1;
                    sum_cautat=S-v[i]-v[j]-v[k];
                    g<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                }
    if (!ok)
        g<<-1;
    else
    {
        ok=false;
        for (i=0; i<N && !ok; i++)
            for (j=i; j<N && !ok; j++)
                for (k=j; k<N && !ok; k++)
                    if (v[i]+v[j]+v[k]==sum_cautat)
                    {
                        g<<v[i]<<" "<<v[j]<<" "<<v[k];
                        ok=true;
                    }
    }
}