Pagini recente » Cod sursa (job #1059481) | Cod sursa (job #1552518) | Cod sursa (job #2624248) | Cod sursa (job #1852303) | Cod sursa (job #2402538)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
int n,s,v[110],nr,i,j,k;
struct ceva
{
int s;
int x1,x2,x3;
} x[10000010];
bool comp(ceva a,ceva b)
{
return a.s<b.s;
}
int main()
{
fin>>n>>s;
for(i=1; i<=n; i++)
fin>>v[i];
for(i=1; i<=n; i++)
for(j=i; j<=n; j++)
for(k=j; k<=n; k++)
{
x[++nr].s=v[i]+v[j]+v[k];
x[nr].x1=v[i];
x[nr].x2=v[j];
x[nr].x3=v[k];
}
sort(x+1,x+nr+1,comp);
for(int i=1; i<=nr; i++)
{
int s1=s-x[i].s;
int st=1,dr=nr;
while(st<=dr)
{
int mij=(st+dr)/2;
if(x[mij].s==s1)
{
fout<<x[i].x1<<" "<<x[i].x2<<" "<<x[i].x3<<" ";
fout<<x[mij].x1<<" "<<x[mij].x2<<" "<<x[mij].x3<<" ";
return 0;
}
if(x[mij].s<s1)
st=mij+1;
else dr=mij-1;
}
}
fout<<-1<<'\n';
return 0;
}