Cod sursa(job #3184748)

Utilizator CosminaneBoac Mihai Cosmin Cosminane Data 16 decembrie 2023 18:01:14
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.13 kb
#include <bits/stdc++.h>
using namespace std;
struct triplet{
    int a, b, c, s;
};
int v[100];
triplet a[1000000];
bool sorting( triplet a, triplet b ){
    if( a.s < b.s ){
        return true;
    }
    else{
        return false;
    }
}
int main(){
    int n, s, i, j, k, p;
    ifstream fin( "loto.in" );
    ofstream fout( "loto.out" );
    fin >> n >> s;
    for( i = 0; i < n; i++ ){
        fin >> v[i];
    }
    p = 0;
    for( i = 0; i < n; i++ ){
        for( j = i; j < n; j++ ){
            for( k = j; k < n; k++ ){
                a[p].a = v[i];
                a[p].b = v[j];
                a[p].c = v[k];
                a[p].s = v[i] + v[j] + v[k];
                p++;
            }
        }
    }
    sort( a, a + p, sorting );
    j = p - 1;
    for( i = 0; i < p; i++ ){
        while( j >= 0 && a[i].s + a[j].s > s ){
            j--;
        }
        if( j >= 0 && a[i].s + a[j].s == s ){
            fout << a[i].a << ' ' << a[i].b << ' ' << a[i].c << ' ' << a[j].a << ' ' << a[j].b << ' ' << a[j].c;
            return 0;
        }
    }
    fout << "-1";
    return 0;
}