Cod sursa(job #2999162)

Utilizator Andrei1209Andrei Mircea Andrei1209 Data 10 martie 2023 15:49:12
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");

int n, v[105], s;
struct ceva{
    int suma, a, b, c;
};
bool cmp( ceva a, ceva b )
{
    if ( a.suma < b.suma )
        return true;
    else
        return false;
}
ceva v2[ 1000000 + 5];
int main()
{
    int i, j, k, nr = 0;
    cin >> n >> s;
    for ( i = 1; i <= n; ++i )
        cin >> v[i];


    for ( i = 1; i <= n; ++i )
        for ( j = i; j <= n; ++j )
            for ( k = j; k <= n; ++k )
            {
                ++nr;
                v2[nr].a = v[i];
                v2[nr]. b = v[j];
                v2[nr].c = v[k];
                v2[nr].suma = ( v[i] + v[j] + v[k] );

            }

    sort ( v2 + 1, v2 + nr + 1, cmp );
    int m = nr;
    for (int i = 1, j = m; i <= m; i++)
    {
        while (j >= 1 && v2[i].suma + v2[j].suma > s) {
            j--;
          }
          if (j != 0 && v2[i].suma + v2[j].suma == s) {
               cout << v2[i].a << " " << v2[i].b << " " << v2[i].c << " " << v2[j].a << " " << v2[j].b << " " << v2[j].c << endl;
               return 0;
          }
    }
    cout << -1 << endl;
    return 0;
}