Cod sursa(job #2894858)

Utilizator AnaTurcituTurcitu Ana-Maria AnaTurcitu Data 28 aprilie 2022 14:48:08
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.91 kb
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;

ifstream f("loto.in");
ofstream g("loto.out");
vector <int> v1;
vector <int> v2;

int main() {
    int N, S, i, j, k, l, m, x;
    bool ok = false, ok1 = false;
    f >> N >> S;

    for (i = 0; i < N; i++)
    {
        f >> x;
        v1.push_back(x);
    }

    for(i=0; i<N; i++)
        for(j=0; j<N; j++)
            for(k=0; k<N; k++)
            {
                x = v1[i] + v1[j] + v1[k];
                v2.push_back(x);
            }

    sort(v2.begin(), v2.end());

    i = 0;
    j = v2.size()-1;

    while(i <= j)
    {
        if(v2[i] + v2[j] == S)
        {

            for(l=0; l<N; l++)
            {
                if(ok1) break;
                for (m = 0; m < N; m++)
                {
                    if (ok1) break;
                    for (k = 0; k < N; k++)
                        if (v1[l] + v1[m] + v1[k] == v2[i])
                        {
                            g << v1[l] << ' ' << v1[m] << ' ' << v1[k] << ' ';
                            ok1 = true;
                            break;
                        }
                }
            }

            ok1 = false;
            for(l=0; l<N; l++)
            {
                if(ok1) break;
                for (m = 0; m < N; m++)
                {
                    if (ok1) break;
                    for (k = 0; k < N; k++)
                        if (v1[l] + v1[m] + v1[k] == v2[j])
                        {
                            g << v1[l] << ' ' << v1[m] << ' ' << v1[k] << ' ';
                            ok1 = true;
                            break;
                        }
                }
            }


            ok = true;
            break;
        }
        else if(v2[i] + v2[j] < S)
            i++;
        else j++;
    }

    if(!ok)
        g << -1;
}