Cod sursa(job #2741715)

Utilizator andreinichitaTirziu Nichita andreinichita Data 18 aprilie 2021 11:22:55
Problema Loto Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.15 kb
#include <fstream>
#include <map>
using namespace std;
map<int,pair<int,pair<int,int> > >m;
int v[105];
int main()
{
    ifstream in("loto.in");
    ofstream out("loto.out");
    int n,s,i,j,k,sum;
    bool ok=0;
    in>>n>>s;
    for(i=1;i<=n;i++)
        in>>v[i];
    for(i=1; i<=n; i++)
    {
        for(j=1; j<=n; j++)
        {
            for(k=1; k<=n; k++)
            {
                sum=v[i]+v[j]+v[k];
                if(sum>s)
                    continue;
                if(2*sum==s)
                {
                    out<<i<<" "<<j<<" "<<k<<" "<<i<<" "<<j<<" "<<k;
                    ok=1;
                    break;
                }
                m[sum]=make_pair(i,make_pair(j,k));
                if(m.find(s-sum)!=m.end())
                {
                    auto p=m[s-sum];
                    out<<i<<" "<<j<<" "<<k<<" "<<p.first<<" "<<p.second.first<<" "<<p.second.second;
                    ok=1;
                    break;
                }
            }
            if(ok)
                break;
        }
        if(ok)
            break;
    }
    if(!ok)
        out<<-1;
    return 0;
}