Cod sursa(job #3131894)

Utilizator bobic.teona20Bobic Teona-Christiana bobic.teona20 Data 21 mai 2023 21:04:38
Problema Loto Scor 5
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>

using namespace std;

int main()
{
    ifstream fin("loto.in");
    ofstream fout("loto.out");

    int n, s;
    fin >> n >> s;

    vector<int> v(n + 1);
    for (int i = 1; i <= n; i++)
        fin >> v[i];

    vector<int> suma;
    for (int i = 1; i <= n; i++)
        for (int j = i; j <= n; j++)
            for (int k = j; k <= n; k++)
                suma.push_back(v[i] + v[j] + v[k]);

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

    for (int i = 0; i < suma.size(); i++)
    {
        int s1 = s - suma[i];
        int l = 0, r = suma.size() - 1;
        while (l <= r)
        {
            int mid = (l + r) / 2;
            if (suma[mid] == s1)
            {
                fout << v[i / (n * n) + 1] << " " << v[(i / n) % n + 1] << " " << v[i % n + 1] << " ";
                fout << v[mid / (n * n) + 1] << " " << v[(mid / n) % n + 1] << " " << v[mid % n + 1] << '\n';
                return 0;
            }
            if (suma[mid] < s1)
                l = mid + 1;
            else
                r = mid - 1;
        }
    }

    fout << -1 << '\n';

    return 0;
}