Pagini recente » Cod sursa (job #1601594) | Cod sursa (job #1729577) | Cod sursa (job #2065389) | Cod sursa (job #187423) | Cod sursa (job #2722609)
#include <bits/stdc++.h>
#define nmax 1000000
using namespace std;
struct timp{
int t1;
int t2;
int t3;
int t4;
} v1[nmax];
int binarysearch(timp v2[nmax], int x ,int l, int r)
{ int mid;
mid = l + (r-l)/2;
if(v2[mid].t1 == x)
return mid;
if(v2[mid].t1 < x)
return binarysearch(v2,x,mid + 1, r);
return binarysearch(v2,x,l,mid-1);
return -1;
}
int n, k;
int v[101];
int main() {
freopen("loto.in", "r", stdin);
freopen("loto.out", "w", stdout);
cin >> n;
cin >> k;
for(int i = 1; i <= n ;i++) {
cin >> v[i];
}
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++) {
for(int k = 1; k <= n; k++)
{
v1[i*n*n + j*n + k].t1 = v[i] + v[j] + v[k];
v1[i*n*n + j*n + k].t2 = v[i] ;
v1[i*n*n + j*n + k].t3 = v[j];
v1[i*n*n + j*n + k].t4 = v[k];
}
}
}
int ok = 0;
for(int i = 1; i <= n && ok == 0; i++)
{
if(binarysearch(v1,k-v1[i].t1, 1,n*n*n) != -1)
{
ok = 1;
int e = binarysearch(v1,k-v1[i].t1, 1,n*n*n);
cout << v1[i].t2 << " " << v1[i].t3 << " " << v1[i].t4 << " " <<v1[e].t2 << " " << v1[e].t3 << " " << v1[e].t4 ;
}
}
return 0;
}