Pagini recente » Cod sursa (job #993800) | Monitorul de evaluare | Cod sursa (job #2059569) | Statistici Petrisor Addrian (c909073) | Cod sursa (job #219098)
Cod sursa(job #219098)
#include<stdio.h>
#include<algorithm>
using namespace std;
long i,j,k,n,S,nr;
long a[101],p1[1000000],p2[1000000],p3[1000000],s[1000000],ind[1000000];
bool comp(const int &a,const int &b)
{
return s[ind[a]]<s[ind[b]];
}
int main(void)
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
scanf("%ld%ld",&n,&S);
for(i=1;i<=n;i++)
scanf("%ld",&a[i]);
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
{
nr++;
ind[nr]=nr;
s[nr]=a[i]+a[j]+a[k];
p1[nr]=i;
p2[nr]=j;
p3[nr]=k;
}
sort(ind+1,ind+nr+1,comp);
j=nr;
for(i=1;i<=nr;i++)
{
while(s[ind[j]]+s[ind[i]]>S&&j>0)
j--;
if(j==0)
break;
else
if(s[ind[i]]+s[ind[j]]==S)
{
printf("%ld %ld %ld ",a[p1[ind[i]]],a[p2[ind[i]]],a[p3[ind[i]]]);
printf("%ld %ld %ld\n",a[p1[ind[j]]],a[p2[ind[j]]],a[p3[ind[j]]]);
return 0;
}
}
printf("-1\n");
return 0;
}