Pagini recente » Cod sursa (job #922879) | Cod sursa (job #3032372) | Cod sursa (job #2292443) | Cod sursa (job #2808509) | Cod sursa (job #3184530)
#include<bits/stdc++.h>
using namespace std;
ifstream F("loto.in");
ofstream G("loto.out");
struct S {
int t,x,y,z;
};
int n,i,j,k,s,v[100],e,q;
S r[1000000];
int C(S a,S b)
{
return a.t<b.t;
}
int main()
{
for(F>>n>>s;i<n;F>>v[i++]);
for(sort(v,v+n),i=0;i<n;++i)
for(j=i;j<n;++j)
for(k=j;k<n;++k)
r[e].t=v[i]+v[j]+v[k],r[e].x=v[i],r[e].y=v[j],r[e++].z=v[k];
for(q=1;q<e;q<<=1);
for(i=1;i<=e&&r[i].t<s;++i) {
for(j=0,k=q;k;k>>=1)
if(k+j<=e)
if(r[j+k].t<s-r[i].t)
j+=k;
else if(r[j+k].t==s-r[i].t) {
return G<<r[i].x<<' '<<r[i].y<<' '<<r[i].z<<' '<<r[j+k].x<<' '<<r[j+k].y<<' '<<r[j+k].z,0;
return G<<-1,0;
}