Pagini recente » Cod sursa (job #2185756) | Cod sursa (job #1893279) | Cod sursa (job #1261598) | Cod sursa (job #882132) | Cod sursa (job #2249378)
#include<bits/stdc++.h>
using namespace std;
ifstream f("loto.in");
ofstream g("loto.out");
struct l{
int a,b,c;
long long s;
}v[1000005];
int n,ar[101],sum,nr;
bool cmp(l x,l y)
{
return x.s>y.s;
}
int main()
{
f>>n>>sum;
for(int i=1;i<=n;++i)
f>>ar[i];
for(int i=1;i<=n;++i)
for(int j=i;j<=n;++j)
for(int k=j;k<=n;++k)
{
v[++nr].s=ar[i]+ar[j]+ar[k];
v[nr].a=ar[i];
v[nr].b=ar[j];
v[nr].c=ar[k];
}
sort(v+1,v+nr+1,cmp);
for(int i=1;i<=nr;++i)
{
int st=i;
int dr=nr;
long long ss=sum-v[i].s;
while(st<=dr)
{
int mij=(dr-st)/2+st;
if(v[mij].s==ss)
{
g<<v[mij].a<<' '<<v[mij].b<<' '<<v[mij].c<<' '<<v[i].a<<' '<<v[i].b<<' '<<v[i].c;
return 0;
}
if(v[mij].s<ss)
dr=mij-1;
else
st=mij+1;
}
}
g<<-1;
}