Pagini recente » Cod sursa (job #2274655) | Cod sursa (job #1541897) | Cod sursa (job #1686227) | Cod sursa (job #2550986) | Cod sursa (job #1939381)
#include <fstream>
#include <algorithm>
#define DN 1000006
using namespace std;
ifstream f ("loto.in");
ofstream g ("loto.out");
int a[106],v[DN],n,s,i,j,k,x,y,st,dr;
bool ok;
void afisare(int nr)
{
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]==nr)
g<<a[i]<<' '<<a[j]<<' '<<a[k]<<' ';
}
int main()
{
f>>n>>s;
for (i=1;i<=n;i++)
f>>a[i];
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (k=1;k<=n;k++)
{
x++;
v[x]=a[i]+a[j]+a[k];
}
sort (v+1,v+x+1);
for (i=1;i<=x;i++)
if (v[i]!=v[y])
{
y++;
v[y]=v[i];
}
x=y;
sort (v+1,v+x+1);
ok=false;
st=1;
dr=x;
while (!ok && st<=dr)
{
if (v[st]+v[dr]>s)
dr--;
else
if (v[st]+v[dr]<s)
st++;
else
ok=true;
}
if (!ok)
g<<-1;
else
{
afisare(v[st]);
afisare(v[dr]);
}
return 0;
}