Pagini recente » Cod sursa (job #2119569) | Cod sursa (job #2450044) | Cod sursa (job #1864538) | Cod sursa (job #1987411) | Cod sursa (job #1149642)
#include<fstream>
#include<cstdlib>
#include<ctime>
#define MOD 150000
#define NMAX 600010
using namespace std;
ifstream f("congr.in");
ofstream g("congr.out");
int n, a[NMAX], pz[NMAX], i, pz1, pz2, sum=0, z;
int main()
{
srand(time(NULL));
f>>n;
for (i=1; i<n*2; ++i)
{
f>>a[i]; pz[i]=i;
if (i<=n) sum=(sum+a[i])%n;
}
while (sum)
{
z=rand();
z=(z*z)%n;
pz1=z+1;
z=rand();
z=n+(z*z)%n;
pz2=z;
sum-=a[pz1];
swap(a[pz1], a[pz2]);
swap(pz[pz1], pz[pz2]);
sum+=a[pz2];
if (sum>0) sum%=n;
else sum+=n;
}
for (i=1; i<=n; ++i) g<<pz[i]<<" ";
f.close();
g.close();
return 0;
}