Cod sursa(job #3131121)

Utilizator daria_lapadusLapadus Daria daria_lapadus Data 19 mai 2023 12:03:49
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.41 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream f("loto.in");
ofstream g("loto.out");

int main()
{
    int n, s;
    f >> n >> s;

    int v[101];
    for (int i = 1; i <= n; i++)
        f >> v[i];

    sort(v + 1, v + n + 1, greater<int>());

    for (int i = 1; i <= n && v[i] * 6 >= s; i++)
    {
        for (int j = i; j <= n && v[i] + v[j] * 5 >= s && v[i] + 5 * v[n] <= s; j++)
        {
            for (int t = j; t <= n && v[i] + v[j] + 4 * v[t] >= s && v[i] + v[j] + v[n] * 4 <= s; t++)
            {
                for (int l = t; l <= n && v[i] + v[j] + v[t] + v[l] * 3 >= s && v[i] + v[j] + v[t] + v[n] * 3 <= s; l++)
                {
                    for (int r = l; r <= n && v[i] + v[j] + v[t] + v[l] + v[r] * 2 >= s && v[i] + v[j] + v[t] + v[l] + v[n] * 2 <= s; r++)
                    {
                        for (int k = r; k <= n && v[i] + v[j] + v[t] + v[l] + v[r] + v[k] >= s; k++)
                        {
                            if (v[i] + v[j] + v[t] + v[l] + v[r] + v[k] == s)
                            {
                                g << v[i] << " " << v[j] << " " << v[t] << " " << v[l] << " " << v[r] << " " << v[k] << "\n";
                                return 0;
                            }
                        }
                    }
                }
            }
        }
    }

    g << -1;
    return 0;
}