Cod sursa(job #483240)

Utilizator cosmyoPaunel Cosmin cosmyo Data 7 septembrie 2010 16:30:34
Problema Congr Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include<cstdlib>
#include<fstream.h>
const long NMAX=300005;
long  k,P,a[NMAX],n,m,w[NMAX],r[NMAX];
long long s;
int main()
{ifstream fin("congr.in");
	  fin>>P;
		  for(long i=1;i<=2*P-1;++i)
			  fin>>a[i];
 fin.close();
  
 long i,x,y;
   m=2*P-1;	  
		 for(i=1;i<=P;++i)
		  {s+=a[i];
		   w[++n]=i;
		  }		   
		 for(i=P+1;i<=m;++i)
		  r[++k]=i;			 
	  do
	  {if(s%P==0)
		  break;
	   else
	   {x=rand()%n+1;
	    y=rand()%k+1;
        r[++k]=x;
        s-=a[x];
        s+=a[y];
        w[x]=w[n--];
        w[++n]=y;
	    }
	 }while(1);
 ofstream fout("congr.out");
    for(i=1;i<=n;++i)
      fout<<a[w[i]]<<" ";
      fout<<'\n';
 fout.close();	
 return 0;
}