만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

사랑은 전쟁

시간 제한2초메모리 제한1024 MB

요약
길이가 N인 두 수열 A와 B가 주어질 때, 모든 부분 배열에서 양쪽에 공통으로 나타나는 가장 큰 값을 구해 그 합을 출력합니다.
난이도

어려움10점 중 8점

유형
세그먼트 트리, 배열, 정렬
정답자
아직 제출이 없습니다

문제

우정이와 아름이는 열렬히 사랑하고 있다. 두 사람의 사랑을 증명하기 위해 당신은 궁합 테스트를 만들었다. 두 사람은 각각 길이가 NN이고 각 원소가 11 이상 NN 이하인 수열을 생각한다. 궁합 테스트는 우정이의 수열 AA와 아름이의 수열 BB로 LOVE 점수를 계산하며, 방법은 다음과 같다.

f(l…r)f(l \ldots r) = (Ai=Bj=xA_i=B_j=x 인 l≤i,j≤rl\leq i,j\leq r이 존재하는 xx의 최댓값, 그런 xx가 없으면 00)이다. 즉, f(l…r)f(l \ldots r)은 A[l…r]A[l \ldots r]과 B[l…r]B[l \ldots r]에 모두 나타나는 수 중 가장 큰 값이다. 두 구간에 공통으로 나타나는 수가 없으면 0이다.

LOVE 점수 = ∑1≤l≤r≤Nf(l…r)\sum_{1\leq l\leq r\leq N}f(l \ldots r)이다. 가능한 모든 (N+12)\binom{N+1}{2}개의 구간에 대한 ff 값의 합이다.

입력

첫 번째 줄에 수열의 길이 NN이 주어진다.

두 번째 줄에 우정이의 수열 AiA_i (1≤i≤N1 \leq i \leq N)가 공백으로 구분되어 주어진다.

세 번째 줄에 아름이의 수열 BiB_i (1≤i≤N1 \leq i \leq N)가 공백으로 구분되어 주어진다.

출력

우정이와 아름이의 LOVE 점수를 출력한다.

제한

  • N≤500,000N \leq 500,000
  • 1≤Ai,Bi≤N1 \leq A_i,B_i \leq N (1≤i≤N1 \leq i \leq N)
  • 입력으로 주어지는 모든 수는 정수이다.

힌트

일부 테스트 케이스는 답이 2312^{31}을 넘을 수 있으므로 long long 자료형을 사용한다.

예제1

  1. 예제 1

    입력
    4
    1 2 3 1
    3 2 1 2
    
    예상 출력
    15