Pagini recente » Cod sursa (job #3254070) | Cod sursa (job #998392) | Cod sursa (job #3262567) | Cod sursa (job #2818900) | Cod sursa (job #2693216)
#include <bits/stdc++.h>
using namespace std;
ifstream fin("loto.in");
ofstream fout("loto.out");
struct puncte
{
int a,b,c,s;
};
vector<puncte>pct;
vector<int>v;
int val,settrei1,settrei2,inceput;
bool sortare(puncte A,puncte B)
{
return A.s<=B.s;
}
int binar(int val)
{
int mid,r,l;
l=0;
r=v.size()-1;
while(l<=r)
{
mid=(l+r)/2;
if(pct[mid].s==val)
return mid;
else if(pct[mid].s<val)
l=mid+1;
else
{
r=mid-1;
}
}
return -1;
}
int main()
{
int n,s;
puncte p;
fin>>n>>s;
for(int i=1; i<=n; i++)
{
int a;
fin>>a;
v.push_back(a);
for(int j=0; j<=v.size()-1; j++)
for(int k=0; k<=j; k++)
{
p.s=a+v[j]+v[k];
p.a=a;
p.b=v[j];
p.c=v[k];
pct.push_back(p);
}
}
sort(pct.begin(),pct.end(),sortare);
int ok=0;
for(int i=0; i<=pct.size()-1 and ok==0; i++)
{
val=s-pct[i].s;
inceput=i;
int settrei2=binar(val);
if(settrei2!=-1)
{
ok=1;
settrei1=i;
}
}
if(ok==0)fout<<-1;
else
{
fout<<pct[settrei1].a<<" "<<pct[settrei1].b<<" "<<pct[settrei1].c<<" "<<pct[settrei2].a<<" "<<pct[settrei2].b<<" "<<pct[settrei2].c;
}
return 0;
}