제출 #1332558

#제출 시각아이디문제언어결과실행 시간메모리
1332558mamabearGift Boxes (EGOI25_giftboxes)C++20
100 / 100
32 ms2396 KiB
#include <iostream>
#include <vector>

using namespace std;

int main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);

    int T, N;
    if (!(cin >> T >> N)) return 0;

    vector<int> a(N);
    for (int i = 0; i < N; i++) {
        cin >> a[i];
    }

    vector<bool> in_suff(T, false);
    int j = N - 1;
    while (j >= 0 && !in_suff[a[j]]) {
        in_suff[a[j]] = true;
        j--;
    }
    j++;

    int best_len = j;
    int best_l = 0;
    int best_r = j - 1;

    vector<bool> in_pref(T, false);
    for (int i = 0; i < N; i++) {
        if (in_pref[a[i]]) {
            break; 
        }
        
        in_pref[a[i]] = true;

        while (j < N && in_suff[a[i]]) {
            in_suff[a[j]] = false;
            j++;
        }

        int cur_len = j - i - 1;
        
        if (cur_len < best_len) {
            best_len = cur_len;
            best_l = i + 1;
            best_r = j - 1;
        }
    }

    cout << best_l << " " << best_r << "\n";

    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...