Pagini recente » Cod sursa (job #2192835) | Cod sursa (job #141360) | Cod sursa (job #784321) | Cod sursa (job #3252121) | Cod sursa (job #1165203)
#include <iostream>
#include <cstdio>
#include <vector>
using namespace std;
int v[110];
vector<int> H[666014];
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
int n, s,ok=0,s1,ok1;
cin>>n>>s;
for(int i=1; i<=n; ++i)
cin>>v[i];
for(int i=1; i<=n && ok==0; ++i)
for(int j=i; j<=n && ok==0; ++j)
for(int k=j; k<=n && ok==0 ;++k)
{
s1=v[i]+v[j]+v[k];
H[s1%666013].push_back(s1);
int y=(s-s1)%666013;
for(int l = 0; l < H[y].size() && ok==0; ++l)
{
if(H[(s-s1)%666013][l]==s-s1) ok=1;
}
}
if(ok==0) cout<<-1;
else
{
ok=0;
ok1=0;
for(int i=1; i<=n && (ok==0||ok1==0); ++i)
for(int j=i; j<=n && (ok==0||ok1==0); ++j)
for(int k=j; k<=n &&(ok==0||ok1==0);++k)
if(v[i]+v[j]+v[k]==s1)
{
ok=1;
cout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
}
else if(v[i]+v[j]+v[k]==s-s1)
{
ok1=1;
cout<<v[i]<<" "<<v[j]<<" "<<v[k]<<" ";
}
}
return 0;
}