Cod sursa(job #2781682)

Utilizator mariaionescu2006Ionescu Maria mariaionescu2006 Data 10 octombrie 2021 11:07:07
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream fin ("loto.in");
ofstream fout ("loto.out");
const int nmax=101;
int n,a[nmax],s;
struct triplet
{
    int x,y,z;
};
unordered_map<int, triplet> sume;
int main()
{
    fin >>n>>s;
    for (int i=1;i<=n;i++)
        {fin >>a[i];}
    for (int i=1;i<=n;i++)
        {for (int j=i;j<=n;j++)
             {for (int k=j;k<=n;k++)
                  {sume[a[i]+a[j]+a[k]]={a[i],a[j],a[k]};}}}
    for(int i=1;i<=n;i++)
       {for(int j=i;j<=n;j++)
           {for(int k=j;k<=n;k++)
               {int complement=s-a[i]-a[j]-a[k];
                if(sume.count(complement)>0) {triplet t=sume[complement];
                                              fout <<a[i]<<" "<<a[j]<<" "<<a[k]<<" "<<t.x<<" "<<t.y<<" "<<t.z<<"\n";
                                              return 0;}}}}
    fout << "-1\n";
}