balansoar

Time limit: 0.1s Memory limit: 64MB Input: balansoar.in Output: balansoar.out

Cerință

Andrei a descoperit un balansoar special în parc care are 2n2n locuri numerotate astfel:

  • Pe partea stângă: −n,−(n−1),…,−2,−1-n, -(n-1), \ldots, -2, -1
  • Pe partea dreaptă: 1,2,…,(n−1),n1, 2, \ldots, (n-1), n

Numărul fiecărui loc reprezintă cât de mult influențează acel loc echilibrul balansoarului.
Andrei are 2n2n prieteni cu greutăți distincte g1,g2,…,g2ng_1, g_2, \ldots, g_{2n}, fiecare cu o valoare între 11 și 2n2n.

Andrei trebuie să așeze fiecare prieten pe câte un loc astfel încât balansoarul să fie cât mai echilibrat posibil.

Echilibrul se calculează cu formula:

S=∑(valoarea locului×gi)S = \sum (\text{valoarea locului} \times g_i)

Unde gig_i este greutatea persoanei de pe acel loc.

Care este strategia optimă pentru a așeza cei 2n2n prieteni pe balansoar astfel încât valoarea ∣S∣|S| să fie minimă?

Date de intrare

Pe prima linie a fișierului de intrare balansoar.in se găseste nn

Date de ieșire

Pe prima linie a fișierului de ieșire balansoar.out se va găsi un singur număr întreg ce reprezintă SS.
Pe a doua linie se va gasi o aranjare posibila a oamenilor.

Restricții și precizări

  • 1≤n≤100 0001 \leq n \leq 100 \ 000
  • 1≤gi≤2n1 \leq g_i \leq 2n
# Puncte Restricții
1 20 1≤n≤41 \leq n \leq 4
2 20 5≤n≤65 \leq n \leq 6
3 60 1≤n≤100 0001 \leq n \leq 100 \ 000

Exemplul 1

balansoar.in

1

balansoar.out

1
1 2

Explicație

După cum se vede, 1∗(−1)+2∗(1)=11 * (-1) + 2*(1) = 1.

Exemplul 2

balansoar.in

3

balansoar.out

0
5 1 4 3 6 2

Explicație

5∗(−3)+1∗(−2)+4∗(−1)+3∗1+6∗2+2∗3=05 * (-3) + 1 * (-2) + 4 * (-1) + 3 * 1 + 6 * 2 + 2 * 3 = 0

Log in or sign up to be able to send submissions!