Pagini recente » Cod sursa (job #2688913) | Cod sursa (job #2211980) | Cod sursa (job #2444799) | Cod sursa (job #1826262) | Cod sursa (job #2892913)
#include <iostream>
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("loto.in");
ofstream g ("loto.out");
int n,s,h, a[101], v[1000001], i, j, k, x;
int binar(int x)
{
int st=1, dr=1, mijl;
while(st<=dr)
{
mijl=(st+dr)/2;
if(v[mijl]==x)
return 1;
if (x<v[mijl])
dr=mijl-1;
else st=mijl+1;
}
return 0;
}
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++)
v[++h]=a[i]+a[j]+a[k];
sort(v+1,v+h+1);
for (i=1;i<=n;i++)
for (j=1;j<=n;j++)
for (k=1;k<=n;k++)
{
x= s- a[i]- a[j]- a[k];
if (binar(x))
{
g<<a[i]<<" "<<a[j]<<" "<<a[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]==x)
{
g<<a[i]<<" "<<a[j]<<" "<<a[k]<<" ";
g<<"\n";
exit(0);
}
}
}
g<<"-1\n";
return 0;
}