Pagini recente » Cod sursa (job #2423730) | Cod sursa (job #2355778) | Cod sursa (job #1920230) | Cod sursa (job #1202439) | Cod sursa (job #483246)
Cod sursa(job #483246)
#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;
}