Pagini recente » Cod sursa (job #1843557) | Cod sursa (job #2394934) | Cod sursa (job #2636710) | Cod sursa (job #648702) | Cod sursa (job #354586)
Cod sursa(job #354586)
#include<stdio.h>
#include<utility>
#include<algorithm>
using namespace std;
pair<int,int> a[200000];
int n,s,i,j,k,c,d,u,cnt,x[101],sc;
void read(),solve();
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%d%d",&n,&s);
for(i=1;i<=n;i++)
scanf("%d",&x[i]);
}
void solve()
{
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
{
a[++c].first=x[i]+x[j]+x[k];
a[c].second=(i<<14)+(j<<7)+k;
}
sort(a+1,a+c+1);
for(d=1,u=c;d<=u;)
{
sc=a[d].first+a[u].first;
if(sc>s){u--;continue;}
if(sc<s){d++;continue;}
break;
}
if(a[d].first+a[u].first!=s){printf("-1\n");return;}
i=a[d].second;
j=i&127;printf("%d ",x[j]);i>>=7;
j=i&127;printf("%d ",x[j]);i>>=7;
j=i&127;printf("%d ",x[j]);i>>=7;
i=a[u].second;
j=i&127;printf("%d ",x[j]);i>>=7;
j=i&127;printf("%d ",x[j]);i>>=7;
j=i&127;printf("%d\n",x[j]);i>>=7;
}