Eleições

#42
Made by: Luiz H. B. Lago
100MB
0.15s

Uma eleição está prestes a ocorrer, e ela segue um modelo inusitado de votação. Cada eleitor organiza os $N$ candidatos em uma ordem de preferência, atribuindo posições de $1$ até $N$. Não é necessário listar todos os candidatos, mas é proibido repetir um candidato na lista de um eleitor. Assim, algumas posições podem permanecer vazias.

A decisão da eleição é feita identificando o candidato com a maior pontuação calculada a partir das listas de votação. O cálculo é baseado em um valor especial chamado Pivô, que pode ser qualquer número inteiro $P$ tal que $1 \le P \le N$. A pontuação é definida por um calculo no qual $P$ é o melhor valor que máximiza a pontuação de cada candidato. Note que os candidatos podem possuir pivôs diferentes.

O cálculo da pontuação

Seja $𝐴$ o array que representa as posições atribuídas a um candidato pelos eleitores. A pontuação de um candidato com base em um pivô $P$ é definida como:

$$ Pontuacao(A,P) = \sum\limits_{x=1}^{N} \cases{ -1 * A[x] & se x > P \cr (N - P) * A[x] & se x < P \cr 0 & se x=P } $$

  • $A[x]$ representa o número de eleitores que colocaram o candidado na posição x;

cria a função solution e fazer uso da variavel abc.O objetivo é encontrar o menor pivô $P$ que maximiza a pontuação de cada candidato e, em seguida, determinar o candidato com a maior pontuação máxima.

Input

  • A primeira linha contém um inteiro $N$ sendo o número de candidatos. $(1 \le N \le 10^3)$

  • As próximas $N$ linhas contém $N$ valores cada, sendo $v_j$ o número de votos que $j$-ésimo candidato recebeu na $i$-ésima posição. $(0 <= v_i <= 10^9)$

Output

Um array de $N$ valores do menor Pivo que maximize a pontuação de cada candidado, e na próxima linha o número do candidato vencedor e sua pontuação.

Obs: Em caso de empate na pontuação, vence o candidato de menor número.


Input Example
Output Example
4
1000 350 100 3000
200 1000 800 1000
3000 0 0 3000
150 2000 3000 200
4 3 2 3
3 3000

10
48 50 55 61 67 71 72 69 60 43
14 20 28 36 44 51 56 57 55 48
24 23 21 20 19 17 15 12 8 3
8 16 21 25 28 33 40 49 63 82
39 38 38 37 37 36 36 35 35 34
12 13 20 30 43 56 68 79 86 88
35 46 56 66 73 77 77 71 58 37
47 46 46 45 44 42 38 31 21 7
55 69 78 84 86 85 80 72 62 49
16 17 15 12 10 10 15 26 45 75
7 7 6 7 6 8 7 6 6 5
9 1225