Cod sursa(job #2600465)

Utilizator betybety bety bety Data 12 aprilie 2020 17:21:07
Problema Loto Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
#include <map>
#include <algorithm>
using namespace std;
ifstream cin("loto.in");
ofstream cout("loto.out");
map<int,pair<pair<int,int>,int> > m;
int v[105];
int main()
{
    int n,s,sum;
    cin>>n>>s;
    for(int i=1;i<=n;++i)
        cin>>v[i];
    sort(v+1,v+n+1);
    if(6*v[n]<s)
    {
        cout<<-1;
        return 0;
    }
    for(int i=1;i<=n;++i)
    for(int j=i;j<=n and v[i]+v[j]<=s;++j)
    for(int k=j;k<=n and v[i]+v[j]+v[k]<=s;++k)
    {
        sum=v[i]+v[j]+v[k];
        m[sum]={{v[i],v[j]},v[k]};
        if(m.find(s-sum)!=m.end())
        {
            cout<<v[i]<<' '<<v[j]<<' '<<v[k]<<' ';
            cout<<m[s-sum].first.first<<' '<<m[s-sum].first.second<<' '<<m[s-sum].second;
            return 0;
        }
    }
    cout<<-1;
    return 0;
}