Pagini recente » Cod sursa (job #2439181) | Cod sursa (job #2633431) | Cod sursa (job #179814) | Cod sursa (job #1556582) | Cod sursa (job #490789)
Cod sursa(job #490789)
using namespace std;
#include<fstream>
#include<ctime>
#include<cstdlib>
const int MAX_N = 300007;
int V[2*MAX_N], A[MAX_N], B[MAX_N], P;
int main()
{
ifstream in("congr.in"); ofstream out("congr.out");
int i,j, S = 0;
in>>P;
for(i = 1; i <= 2*P-1; ++i)
{
if(i <= P ) in>>V[i], A[i] = i, S += V[i], S %= P;
else in>>V[i], B[i-P] = i;
}
S %= P;
srand(time(0));
while( S )
{
i = rand()%P + 1; j = rand()%(P-1) + 1;
S = ( S + V[B[j]] - V[A[i]] ) % P;
while( S < 0) S += P;
swap(A[i], B[j] );
}
for(i = 1; i <= P; ++i) out<<A[i]<<" ";
return 0;
}