Cod sursa(job #2836563)

Utilizator C_R_I_S_T_I_2_3Cristi Gavrila C_R_I_S_T_I_2_3 Data 20 ianuarie 2022 16:58:35
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.19 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n, s, suma, cnt;
int v[105], sol[6];
vector <int> sum;
struct loto
{
    int x, y, z;
};
loto aux;
unordered_map <int, loto> m;
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=1; j<=n; j++)
        {
            for(int k=1; k<=n; k++)
            {
                suma=v[i]+v[j]+v[k];
                aux.x=i;
                aux.y=j;
                aux.z=k;
                sum.push_back(suma);
                m[suma]=aux;
            }
        }
    }
    cnt=sum.size();
    for(int i=0; i<cnt; i++)
    {
        if(m[s-sum[i]].x!=0 && m[s-sum[i]].y!=0 && m[s-sum[i]].z!=0)
        {
            sol[0] = m[sum[i]].x;
            sol[1] = m[sum[i]].y;
            sol[2] = m[sum[i]].z;
            sol[3] = m[s-sum[i]].x;
            sol[4] = m[s-sum[i]].y;
            sol[5] = m[s-sum[i]].z;
            sort(sol, sol+5);
            for(int j=0; j<6; j++)
                fout << sol[j] << " ";
            return 0;
        }
    }
    fout << -1;
    return 0;
}