Cod sursa(job #346788)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 9 septembrie 2009 17:54:27
Problema Loto Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<fstream.h>
int main()
{int q,w,e,ok,cb1,cb2,cb3,sr,f,v[101],v2[1000001],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++;}
for(i=1;i<f-1;i++)
  if(v2[i]>v2[i+1])
   {v2[0]=v2[i];
   v2[i]=v2[i+1];
   v2[i+1]=v2[0];
   i=1;}
f--;
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)
    {cb2=cb1+(cb3-cb1)/2+1;
  if(v2[cb2]<sr)
   cb3=cb2-1;
  if(v2[cb2]>sr)
   cb1=cb2+1;
  if(v2[cb2]==sr)
   {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;}