Pagini recente » Cod sursa (job #1368814) | Cod sursa (job #1147432) | Cod sursa (job #2192720) | Cod sursa (job #1518980) | Cod sursa (job #923625)
Cod sursa(job #923625)
#include <cstdio>
#include <cstdlib>
#include <ctime>
const int MAX_SIZE(300001);
int v [MAX_SIZE << 1];
int position [MAX_SIZE << 1];
int p, p2;
long long sum;
inline void read (void)
{
std::freopen("congr.in","r",stdin);
std::scanf("%d",&p);
p2 = (p << 1) - 1;
for (int i(1) ; i <= p2 ; ++i)
{
std::scanf("%d",&v[i]);
position[i] = i;
if (i <= p)
sum += v[i];
}
std::fclose(stdin);
}
inline void print (void)
{
std::freopen("congr.out","w",stdout);
for (int i(1) ; i <= p ; ++i)
std::printf("%d ",position[i]);
std::putchar('\n');
std::fclose(stdout);
}
inline void swap (int &a, int &b)
{
int temp(a);
a = b;
b = temp;
}
inline void compute (void)
{
int i, j;
p2 -= p;
while (sum % p)
{
i = 1 + std::rand() % p;
j = 1 + p + std::rand() % p2;
sum = sum - v[position[i]] + v[position[j]];
swap(position[i],position[j]);
}
}
int main (void)
{
std::srand(std::time(0));
read();
compute();
print();
return 0;
}