Pagini recente » Cod sursa (job #334489) | Istoria paginii runda/cls11_oni_20_ian | Arhiva de probleme | Cod sursa (job #1466964) | Cod sursa (job #974784)
Cod sursa(job #974784)
#include<cstdio>
#include<algorithm>
using namespace std;
struct BILET
{
int b1,b2,b3,s;
void print()
{
printf("%d %d %d ",b1,b2,b3);
}
};
BILET s[1000010];
int b[110];
class cmp
{
public:
bool inline operator () ( const BILET &a, const BILET &b)
{
return a.s<b.s;
}
};
int main()
{
freopen("loto.in","r",stdin);
freopen("loto.out","w",stdout);
int n,i,j,S,k,st,dr,num=0;
scanf("%d%d",&n,&S);
for(i=1;i<=n;i++)
scanf("%d",&b[i]);
for(i=1;i<=n;i++)
for(j=i;j<=n;j++)
for(k=j;k<=n;k++)
s[++num]={b[i],b[j],b[k],b[i]+b[j]+b[k]};
sort(s+1,s+1+num,cmp());
st=1; dr=num;
while(st<=dr)
{
while(st<=dr && s[st].s+s[dr].s>=S)
{
if(s[st].s+s[dr].s==S)
{
s[st].print();
s[dr].print();
return 0;
}
dr--;
}
st++;
}
printf("-1\n");
return 0;
}