Cod sursa(job #2557986)

Utilizator PetyAlexandru Peticaru Pety Data 26 februarie 2020 10:32:58
Problema Congr Scor 0
Compilator cpp-64 Status done
Runda sim11_2 Marime 1.01 kb
#include <bits/stdc++.h>
#define x first
#define y second

using namespace std;

ifstream fin ("congr.in");
ofstream fout ("congr.out");

int p, __[600002], vector_smecher_pt_random_fabricat_in_romania[300002], vector_smecher_pt_random_fabricat_in_china[300002];


int main()
{
  fin >> p;
  int sum = 0;
  for (int i = 1; i <= p * 2 - 1; i++) {
    fin >> __[i];
    if (i <= p)  {
      vector_smecher_pt_random_fabricat_in_romania[i] = i;
      sum += __[i];
    }
    else
      vector_smecher_pt_random_fabricat_in_china[i - p] = i;
  }
  while (sum % p != 0) {
    int x = rand() * rand() % p + 1;
    int y = rand() * rand() % (p - 1) + 1;
    sum -= __[vector_smecher_pt_random_fabricat_in_romania[x]];
    sum += __[vector_smecher_pt_random_fabricat_in_china[y]];
    swap(vector_smecher_pt_random_fabricat_in_romania[x], vector_smecher_pt_random_fabricat_in_china[y]);
  }
  for (int i = 1; i <= p; i++)
    fout << vector_smecher_pt_random_fabricat_in_romania[i] << " ";
  return 0;
}