Pagini recente » Cod sursa (job #2158685) | Cod sursa (job #346850)
Cod sursa(job #346850)
#include<fstream>
#include<algorithm>
using namespace std;
int v2[1000005];
int cmp(int a,int b)
{return a<b;}
int main()
{int q,w,e,ok,cb1,cb2,cb3,sr,f,v[101],i,j,k,n,s;
ifstream o("loto.in");
ofstream p("loto.out");
o>>n>>s;
f=1;
for(i=1;i<=n;i++)
o>>v[i];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
{v2[f]=v[i]+v[j]+v[k];
f++;}
f--;
sort(v2+1,v2+f+1,cmp);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
for(k=1;k<=n;k++)
{sr=s-(v[i]+v[j]+v[k]);
cb1=1;
cb3=f;
while(cb1<=cb3)
{if(cb1<cb3)
{ cb2=cb1+(cb3-cb1)/2;
if(v2[cb2]>sr)
{cb3=cb2-1;
if(cb1<cb3&&cb1+(cb3-cb1)/2<sr)
cb1=cb3+1;
if(cb1==cb3&&cb1<sr)
cb1=cb3+1;}
if(v2[cb2]<sr)
{cb1=cb2+1;
if(cb1<cb3&&cb1+(cb3-cb1)/2>sr)
cb1=cb3+1;
if(cb1==cb3&&cb1>sr)
cb1=cb3+1;}
if(v2[cb2]==sr)
{ok=1;
cb1=cb3+1;}}
else
{cb2=cb1;
if(v2[cb2]!=sr)
cb1=cb3+1;
else
{ok=1;
cb1=cb3+1;}}}
if(ok==1)
{for(q=1;q<=n;q++)
for(w=1;w<=n;w++)
for(e=1;e<=n;e++)
if(sr==v[q]+v[w]+v[e])
{p<<v[i]<<" "<<v[j]<<" "<<v[k]<<" "<<v[q]<<" "<<v[w]<<" "<<v[e];
return 0;}}}
p<<"-1";
return 0;}