CF1418G.Three Occurrences

省选/NOI-

通过率:0%

时间限制:5.00s

内存限制:512MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array aa consisting of nn integers. We denote the subarray a[l..r]a[l..r] as the array [al,al+1,…,ar][a_l, a_{l + 1}, \dots, a_r] (1≤l≤r≤n1 \le l \le r \le n).

A subarray is considered good if every integer that occurs in this subarray occurs there exactly thrice. For example, the array [1,2,2,2,1,1,2,2,2][1, 2, 2, 2, 1, 1, 2, 2, 2] has three good subarrays:

  • a[1..6]=[1,2,2,2,1,1]a[1..6] = [1, 2, 2, 2, 1, 1];
  • a[2..4]=[2,2,2]a[2..4] = [2, 2, 2];
  • a[7..9]=[2,2,2]a[7..9] = [2, 2, 2].

Calculate the number of good subarrays of the given array aa.

给你一个由 nn 个整数组成的数组 aa。我们将子数组 a[l..r]a[l..r] 定义为数组 [al,al+1,…,ar][a_l, a_{l + 1}, \dots, a_r](其中 1≤l≤r≤n1 \le l \le r \le n)。

若一个子数组中每个出现的整数均恰好出现三次,则称该子数组为“好子数组”。例如,数组 [1,2,2,2,1,1,2,2,2][1, 2, 2, 2, 1, 1, 2, 2, 2] 包含三个好子数组:

  • a[1..6]=[1,2,2,2,1,1]a[1..6] = [1, 2, 2, 2, 1, 1];
  • a[2..4]=[2,2,2]a[2..4] = [2, 2, 2];
  • a[7..9]=[2,2,2]a[7..9] = [2, 2, 2]。

请计算给定数组 aa 中好子数组的个数。

输入格式

The first line contains one integer nn (1≤n≤5⋅1051 \le n \le 5 \cdot 10^5).

The second line contains nn integers a1a_1, a2a_2, ..., ana_n (1≤ai≤n1 \le a_i \le n).

第一行包含一个整数 nn(1≤n≤5⋅1051 \le n \le 5 \cdot 10^5)。

第二行包含 nn 个整数 a1a_1, a2a_2, ..., ana_n(1≤ai≤n1 \le a_i \le n)。

输出格式

Print one integer — the number of good subarrays of the array aa.

输出一个整数——数组 aa 中“好”子数组的个数。

输入输出样例

  • 输入#1

    9
    1 2 2 2 1 1 2 2 2

    输出#1

    3
  • 输入#2

    10
    1 2 3 4 1 2 3 1 2 3

    输出#2

    0
  • 输入#3

    12
    1 2 3 4 3 4 2 1 3 4 2 1

    输出#3

    1

输入解题思路,AI测评打分。不知道怎么写?

首页