Cod sursa(job #483246)

Utilizator cosmyoPaunel Cosmin cosmyo Data 7 septembrie 2010 16:55:50
Problema Congr Scor 70
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 aux,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;
        s-=a[w[x]];
        s+=a[r[y]];
        aux=w[x];
		w[x]=r[y];
        r[y]=aux;		
	    }
	 }while(1);
 ofstream fout("congr.out");
    for(i=1;i<=P;++i)
      fout<<w[i]<<" ";
      fout<<'\n';
 fout.close();	
 return 0;
}