Submission #45238526


Source Code Expand

#include <bits/stdc++.h>

using namespace std;
using ll = long long;

int N;
ll a[300005];
ll cnt[300005];
ll last_idx[300005];
ll last_ans[300005];

int main() {
  cin.tie(nullptr); ios::sync_with_stdio(false);
  cin >> N;
  ll ans = 0;
  for (int i=0;i<N;++i) cin >> a[i];
  memset(last_idx, -1, sizeof(last_idx));
  for (int i=0;i<N;++i) {
    ll x = a[i];
    if (last_idx[x] == -1) last_idx[x] = i;
    else {
      ans += last_ans[x];
      ans += (i - last_idx[x] - 1) * cnt[x];
      last_ans[x] += (i - last_idx[x] - 1) * cnt[x];
      last_idx[x] = i;
    }
    cnt[x]++;
  }
  cout << ans << '\n';
}

Submission Info

Submission Time
Task E - Sandwiches
User seastar105
Language C++ 20 (gcc 12.2)
Score 450
Code Size 639 Byte
Status AC
Exec Time 21 ms
Memory 12996 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 450 / 450
Status
AC × 3
AC × 20
Set Name Test Cases
Sample 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt
All 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt
Case Name Status Exec Time Memory
00_sample_01.txt AC 2 ms 5788 KiB
00_sample_02.txt AC 2 ms 5832 KiB
00_sample_03.txt AC 2 ms 5788 KiB
01_test_01.txt AC 2 ms 5728 KiB
01_test_02.txt AC 2 ms 5832 KiB
01_test_03.txt AC 15 ms 8124 KiB
01_test_04.txt AC 15 ms 8232 KiB
01_test_05.txt AC 14 ms 8196 KiB
01_test_06.txt AC 16 ms 8204 KiB
01_test_07.txt AC 17 ms 8160 KiB
01_test_08.txt AC 17 ms 8848 KiB
01_test_09.txt AC 17 ms 8860 KiB
01_test_10.txt AC 17 ms 8920 KiB
01_test_11.txt AC 18 ms 12188 KiB
01_test_12.txt AC 19 ms 11980 KiB
01_test_13.txt AC 20 ms 12976 KiB
01_test_14.txt AC 21 ms 12996 KiB
01_test_15.txt AC 21 ms 12808 KiB
01_test_16.txt AC 18 ms 11932 KiB
01_test_17.txt AC 9 ms 8668 KiB