Produto Escalar Cíclico

#168
Made by: Crazynds
1000MB
1s

Você recebe dois vetores de inteiros $A$ e $B$, ambos de tamanho $N$.

O vetor $B$ é cíclico, ou seja, você pode rotacioná-lo qualquer número de posições para a esquerda ou para a direita. Uma rotação move os elementos circularmente, mantendo o tamanho do vetor.

Para cada possível rotação de $B$, calcule o dot product entre $A$ e o vetor rotacionado.

O dot product entre dois vetores $A$ e $B$ é definido como:

$$ A \cdot B = \sum_{i=0}^{N-1} A_i \times B_i $$

Seu objetivo é determinar:

  • o menor valor possível
  • o maior valor possível

que podem ser obtidos ao rotacionar o vetor $B$.

Input

A primeira linha contém um inteiro N $(1 \le N \le 2 \times 10^5)$.

A segunda linha contém N inteiros $A_i$ $( 0 \le A_i \le 10^5 )$.

A terceira linha contém N inteiros $B_i$ $( 0 \le B_i \le 10^5 )$.

Output

Imprima dois inteiros:

min max

onde:

  • min é o menor dot product possível
  • max é o maior dot product possível

considerando todas as rotações cíclicas de (B).


Input Example
Output Example
3
1 2 3
3 2 1
10 13

4
7 1 4 0
0 7 8 6
39 81

4
1 2 3 4
5 6 7 8
62 70

Explanation 3:
As rotações possíveis de (B) são: [5 6 7 8] [8 5 6 7] [7 8 5 6] [6 7 8 5] Os dot products correspondentes são: 1*5 + 2*6 + 3*7 + 4*8 = 70 1*8 + 2*5 + 3*6 + 4*7 = 64 1*7 + 2*8 + 3*5 + 4*6 = 62 1*6 + 2*7 + 3*8 + 4*5 = 64