Cod sursa(job #3239122)

Utilizator tedicTheodor Ciobanu tedic Data 2 august 2024 15:21:37
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.33 kb
#include <fstream>
#include <unordered_map>

using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
int v[105];
struct sum
{
    int a,b,c;
} val[300000005];
unordered_map<int,int>umap;
int main()
{
    int n,s;
    cin>>n>>s;
    for(int i=1; i<=n; i++)
        cin>>v[i];
    bool ok=1;
    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
            for(int k=j; k<=n; k++)
            {
                int e=v[i]+v[j]+v[k];
                umap[e]=1;
                val[e]= {v[i],v[j],v[k]};
            }
            int cauta=0;
    for(int i=1; i<=n; i++)
    {
        for(int j=i; j<=n; j++)
        {
            for(int k=j; k<=n; k++)
            {
                int x=s-(v[i]+v[j]+v[k]);
                if(umap.find(x)!=umap.end())
                {
                    ok=0;
                    cauta=x;
                    cout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
                    break;
                }
            }
            if(!ok)
                break;
        }
        if(!ok)
            break;
    }
    for(int i=1; i<=n; i++)
        for(int j=i; j<=n; j++)
        for(int k=j; k<=n; k++)
        if(v[i]+v[j]+v[k]==cauta)
    {
        cout<<v[i]<<" "<<v[j]<<" "<<v[k];
        return 0;
    }
    if(ok)
        cout<<-1;
    return 0;
}