Pagini recente » Cod sursa (job #2607684) | Cod sursa (job #1506488) | Cod sursa (job #1654410) | Cod sursa (job #1345026) | Cod sursa (job #1942020)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int a[101], s[101], sum, n, idx=0;
void citire()
{
int i;
fin>>n>>sum;
for(i=1; i<=n; i++)
fin>>a[i];
fin.close();
}
void afisare(int suma)
{
int i, j, k;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
for(k=1; k<=n; k++)
if(a[i]+a[j]+a[k]==suma)
{
fout<<a[i]<<' '<<a[j]<<' '<<a[k]<<' ';
return;
}
}
void binsrc()
{
int st, dr;
st=1; dr=idx;
while(st<=dr)
{
if(s[st]+s[dr]==sum)
{
afisare(s[st]);
afisare(s[dr]);
return;
}
else if(s[st]+s[dr]>sum)
dr--;
else st++;
}
fout<<-1;
}
void sume()
{
int i, j, k;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
for(k=1; k<=n; k++)
s[++idx]=a[i]+a[j]+a[k];
sort(s+1, s+1+idx);
}
int main()
{
citire();
sume();
binsrc();
fout<<'\n'; fout.close();
return 0;
}