Cod sursa(job #3279650)

Utilizator 9onelostSendrescu Tudor-Gabriel 9onelost Data 23 februarie 2025 18:36:08
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.2 kb
#include <bits/stdc++.h>
#define DIM 101
using namespace std;

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

int n, s, cnt, st, dr;

int v[DIM];

struct sume{

    int sum;

    int a;

    int b;

    int c;

}sum[DIM*DIM*DIM];

bool compare(sume a, sume b){

    return a.sum < b.sum;

}

int main() {

    fin >> n >> s;

    for(int i=1;i<=n;i++){

        fin >> v[i];

    }

    for(int i=1;i<=n;i++){

        for(int j=i;j<=n;j++){

            for(int k=j;k<=n;k++){

                cnt++;

                sum[cnt].sum = v[i] + v[j] + v[k];

                sum[cnt].a =v[i];

                sum[cnt].b =v[j];

                sum[cnt].c =v[k];

            }

        }

    }

    sort(sum+1,sum+cnt+1, compare);

    st=1;

    dr=cnt;

    while(st<=dr){

        int S=sum[st].sum + sum[dr].sum;

        if(S==s){

            fout << sum[st].a<<" "<<sum[st].b<<" "<<sum[st].c<<" "<<sum[dr].a<<" "<<sum[dr].b<<" "<<sum[dr].c;

            return 0;
        }

        else if(S>s){

            dr--;

        }

        else{

            st++;

        }

    }

    fout << -1 << endl;

    return 0;
}