Pagini recente » Cod sursa (job #1362421) | Cod sursa (job #142918) | Cod sursa (job #1881283) | Cod sursa (job #1650071) | Cod sursa (job #2909980)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int v[101],sp[1000001],nr;
void precalc(int len){
nr=0;
for(int i=0;i<len;i++)
for(int j=i;j<len;j++)
for(int k=j;k<len;k++)
sp[nr++]=v[i]+v[j]+v[k];
}
void gasestecus(int s,int len)
{
for(int i=0;i<len;i++)
for(int j=i;j<len;j++)
for(int k=j;k<len;k++)
if(v[i]+v[j]+v[k]==s){
fout<<v[i]<<" "<<v[j]<<" "<<v[k];
return;
}
}
int main()
{
int n,s;
fin>>n>>s;
for(int i=0;i<n;i++)
fin>>v[i];
precalc(n);
sort(sp,sp+nr);
int i=0,j=nr-1,ok=0;
cout<<nr;
while(i<=j)
{
if(sp[i]+sp[j]==s)
{
ok=1;
break;
}
if(sp[i]+sp[j]>s)
j--;
else
i++;
}
if(ok==0)
fout<<"-1";
else{
gasestecus(sp[i],n);
fout<<" ";
gasestecus(sp[j],n);
}
}