提出 #73492191


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
using ll = long long;

template<class T> inline bool chmax(T& a, T b) { if (a < b) { a = b; return 1; } return 0; }
template<class T> inline bool chmin(T& a, T b) { if (a > b) { a = b; return 1; } return 0; }

int main(void){
    ll N;
    cin >> N;
    vector<ll> A(N);
    map<ll, vector<ll>> S;
    for(int i = 0; i < N; i++) {
        cin >> A.at(i);
        S[A.at(i)].push_back(i);
    }
    
    vector<ll> ans(N, 0);
    for(auto[x, D] : S) {
        ll idx = D.at(0);
        ll cnt = 1;
        set<ll> update;
        update.insert(idx);
        for(int i = x + 1; true; i++) {
            if(!S.count(i)) {
                break;
            }
            
            if(lower_bound(S.at(i).begin(), S.at(i).end(), idx) == S.at(i).end()) {
                break;
            }
            
            if(ans.at(idx) != 0) {
                cnt += ans.at(idx);
                break;
            }
            
            cnt++;
            idx = *lower_bound(S.at(i).begin(), S.at(i).end(), idx);
            update.insert(idx);
        }
        
        for(auto u : update) {
            ans.at(u) = cnt;
            cnt--;
        }
    }
    
    ll res = 0;
    for(auto a : ans) {
        chmax(res, a);
    }
    cout << res << endl;
    return 0;
}

提出情報

提出日時
問題 D - Max Straight
ユーザ kashihal
言語 C++23 (GCC 15.2.0)
得点 400
コード長 1374 Byte
結果 AC
実行時間 247 ms
メモリ 37840 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 3
AC × 26
セット名 テストケース
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_random_00.txt, 01_random_01.txt, 01_random_02.txt, 01_random_03.txt, 01_random_04.txt, 01_random_05.txt, 01_random_06.txt, 01_random_07.txt, 01_random_08.txt, 01_random_09.txt, 01_random_10.txt, 01_random_11.txt, 01_random_12.txt, 01_random_13.txt, 01_random_14.txt, 01_random_15.txt, 01_random_16.txt, 01_random_17.txt, 01_random_18.txt, 01_random_19.txt, 01_random_20.txt, 01_random_21.txt, 01_random_22.txt
ケース名 結果 実行時間 メモリ
00_sample_00.txt AC 1 ms 3516 KiB
00_sample_01.txt AC 1 ms 3616 KiB
00_sample_02.txt AC 1 ms 3448 KiB
01_random_00.txt AC 1 ms 3620 KiB
01_random_01.txt AC 1 ms 3412 KiB
01_random_02.txt AC 1 ms 3600 KiB
01_random_03.txt AC 236 ms 37840 KiB
01_random_04.txt AC 247 ms 37712 KiB
01_random_05.txt AC 84 ms 17996 KiB
01_random_06.txt AC 39 ms 10772 KiB
01_random_07.txt AC 154 ms 28392 KiB
01_random_08.txt AC 26 ms 5864 KiB
01_random_09.txt AC 1 ms 3736 KiB
01_random_10.txt AC 60 ms 8800 KiB
01_random_11.txt AC 60 ms 8908 KiB
01_random_12.txt AC 7 ms 4020 KiB
01_random_13.txt AC 62 ms 9064 KiB
01_random_14.txt AC 2 ms 3872 KiB
01_random_15.txt AC 69 ms 9424 KiB
01_random_16.txt AC 36 ms 6656 KiB
01_random_17.txt AC 212 ms 30228 KiB
01_random_18.txt AC 208 ms 29568 KiB
01_random_19.txt AC 221 ms 29000 KiB
01_random_20.txt AC 152 ms 21268 KiB
01_random_21.txt AC 222 ms 28380 KiB
01_random_22.txt AC 17 ms 5492 KiB