提出 #62114918


ソースコード 拡げる

#include<bits/stdc++.h>

using namespace std;

typedef long long i64;

int main() {
    cin.tie(nullptr) -> sync_with_stdio(false);

    int n;
    cin >> n;
    vector<int> a(n + 1);
    vector<vector<int>> pos(n + 1);
    for(int i = 0; i <= n; i++) {
        pos[i].push_back(0);
    }
    for(int i = 1; i <= n; i++) {
        cin >> a[i];
        pos[a[i]].push_back(i);
    }
    for(int i = 0; i <= n; i++) {
        pos[i].push_back(n + 1);
    }

    i64 ans = 0;
    for(int i = 1; i <= n; i++) {
        for(int j = 1; j < (int)pos[i].size() - 1; j++) {
            auto it = upper_bound(pos[i - 1].begin(), pos[i - 1].end(), pos[i][j]);
            int lst = max(pos[i][j - 1], *prev(it));
            int nxt = *it;
            i64 add = 1LL * (nxt - pos[i][j]) * (pos[i][j] - lst);
            ans += add;
            // cerr << i << ' ' << j << ' ' << add << '\n';
        }
    }

    cout << ans << '\n';

    return 0;
}

提出情報

提出日時
問題 F - Double Sum 3
ユーザ dengstar
言語 C++ 20 (gcc 12.2)
得点 525
コード長 977 Byte
結果 AC
実行時間 66 ms
メモリ 22748 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 525 / 525
結果
AC × 3
AC × 31
セット名 テストケース
Sample 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt
All 00_sample_00.txt, 00_sample_01.txt, 00_sample_02.txt, 01_handmade_00.txt, 01_handmade_01.txt, 01_handmade_02.txt, 02_permutation_00.txt, 02_permutation_01.txt, 02_permutation_02.txt, 02_permutation_03.txt, 02_permutation_04.txt, 02_permutation_05.txt, 02_permutation_06.txt, 02_permutation_07.txt, 02_permutation_08.txt, 02_permutation_09.txt, 02_permutation_10.txt, 02_permutation_11.txt, 03_random_00.txt, 03_random_01.txt, 03_random_02.txt, 03_random_03.txt, 03_random_04.txt, 03_random_05.txt, 03_random_06.txt, 03_random_07.txt, 03_random_08.txt, 03_random_09.txt, 03_random_10.txt, 03_random_11.txt, 03_random_12.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 3460 KiB
00_sample_01.txt AC 1 ms 3580 KiB
00_sample_02.txt AC 1 ms 3392 KiB
01_handmade_00.txt AC 1 ms 3516 KiB
01_handmade_01.txt AC 33 ms 22748 KiB
01_handmade_02.txt AC 36 ms 20696 KiB
02_permutation_00.txt AC 16 ms 8632 KiB
02_permutation_01.txt AC 21 ms 10108 KiB
02_permutation_02.txt AC 58 ms 20232 KiB
02_permutation_03.txt AC 53 ms 18176 KiB
02_permutation_04.txt AC 54 ms 19412 KiB
02_permutation_05.txt AC 61 ms 20740 KiB
02_permutation_06.txt AC 60 ms 20744 KiB
02_permutation_07.txt AC 64 ms 20744 KiB
02_permutation_08.txt AC 60 ms 20752 KiB
02_permutation_09.txt AC 59 ms 20704 KiB
02_permutation_10.txt AC 36 ms 20920 KiB
02_permutation_11.txt AC 36 ms 20732 KiB
03_random_00.txt AC 10 ms 5912 KiB
03_random_01.txt AC 11 ms 6744 KiB
03_random_02.txt AC 31 ms 12824 KiB
03_random_03.txt AC 11 ms 6752 KiB
03_random_04.txt AC 19 ms 9460 KiB
03_random_05.txt AC 66 ms 21792 KiB
03_random_06.txt AC 64 ms 21720 KiB
03_random_07.txt AC 63 ms 21972 KiB
03_random_08.txt AC 63 ms 21776 KiB
03_random_09.txt AC 66 ms 21788 KiB
03_random_10.txt AC 9 ms 7124 KiB
03_random_11.txt AC 18 ms 11140 KiB
03_random_12.txt AC 16 ms 10508 KiB