Pagini recente » Cod sursa (job #2366185) | Cod sursa (job #2766020) | Cod sursa (job #399452) | Cod sursa (job #2513722) | Cod sursa (job #1850797)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream fi ("loto.in");
ofstream fo ("loto.out");
int a[106],v[1000006],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) {fo<<a[i]<<' '<<a[j]<<' '<<a[k]<<' ';return;}
}
int main()
{
fi>>n>>s;
for (i=1;i<=n;i++) fi>>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 and st<=dr)
{
if (v[st]+v[dr]>s) dr--;
else if (v[st]+v[dr]<s) st++;
else ok=true;
}
if (!ok) fo<<-1;
else{afisare(v[st]);afisare(v[dr]);}
return 0;
}