Pagini recente » Istoria paginii runda/kkk | Istoria paginii runda/uyr | Cod sursa (job #2073192) | iulian | Cod sursa (job #473318)
Cod sursa(job #473318)
#include<fstream>
#include<cstdlib>
#include<ctime>
using namespace std;
int a[600001],aux,p,x,y,nr,n,poz[600001],i;
long long s;
int main()
{
srand(time(NULL));
ifstream fi("congr.in");
ofstream fo("congr.out");
fi>>p;
n=2*p-1;
for(i=1;i<=n;i++)
{
fi>>nr;
a[i]=nr%p;
poz[i]=i;
if(i<=p) s+=a[i];
}
while(s%p)
{
x=rand()%(p-1);
x++;
y=rand()%(p-2);
y+=p+1;
s+=a[y];
s-=a[x];
aux=a[x];
a[x]=a[y];
a[y]=aux;
aux=poz[x];
poz[x]=poz[y];
poz[y]=aux;
}
for(i=1;i<=p;i++)
fo<<poz[i]<<" ";
fo<<"\n";
fo.close();
}