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,(n1),,2,1-n, -(n-1), \ldots, -2, -1
  • Pe partea dreaptă: 1,2,,(n1),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

  • 1n100 0001 \leq n \leq 100 \ 000
  • 1gi2n1 \leq g_i \leq 2n
# Puncte Restricții
1 20 1n41 \leq n \leq 4
2 20 5n65 \leq n \leq 6
3 60 1n100 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)+31+62+23=05 * (-3) + 1 * (-2) + 4 * (-1) + 3 * 1 + 6 * 2 + 2 * 3 = 0

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