Pagini recente » Cod sursa (job #2354314) | Cod sursa (job #2416213) | Cod sursa (job #1719403) | Cod sursa (job #455094) | Cod sursa (job #1760176)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
#define nmax 10010
int lp[nmax],v[110],n,i,j,k,s,m,ok,s1,s2;
void reconst(int s)
{
for(int i=1; i<=n; ++i)
for(int j=i; j<=n; ++j)
if(binary_search(v+1,v+n+1,s-v[i]-v[j]))
{
fout<<v[i]<<' '<<v[j]<<' '<<(s-v[i]-v[j])<<' ';
return ;
}
}
int main()
{
fin>>n>>s;
for(i=1; i<=n; ++i)
fin>>v[i];
m=0;
for(i=1; i<=n; ++i)
for(j=1; j<=n; ++j)
for(k=1; k<=n; ++k)
lp[++m]=v[i]+v[j]+v[k];
sort(lp+1,lp+m+1);
ok=0;
for(i=1; i<=m; ++i)
{
if(binary_search(lp+1,lp+m+1,s-lp[i]))
{
s1=lp[i];
s2=s-lp[i];
ok=1;
break;
}
}
if(!ok)
fout<<-1;
else
{
reconst(s1);
reconst(s2);
}
}