제출 #1330678

#제출 시각아이디문제언어결과실행 시간메모리
1330678finehaveanormalusernameGift Boxes (EGOI25_giftboxes)C++20
100 / 100
126 ms8000 KiB
#include <bits/stdc++.h>
using namespace std;

#define vt vector

int main() {
   int t, n; cin >> t >> n;
   vt<int> a(n);
   for(int i = 0; i < n; i++) cin >> a[i];
   vt<int> mx(n);
   for(int i = 0; i < n; i++) mx[a[i]] = max(mx[a[i]], i);
   int bestl = 0; int bestr = n - 1;
   vt<int> cnt(t);
   int r = n - 1;
   for(r = n - 1; r >= 0; r--) {
      if(r + 1 < n) cnt[a[r + 1]]++;
      if(cnt[a[r]] == 1) break;
   }
   vt<int> cnt2(t);
   for(int l = 0; l < n; l++) {
      if(l != 0) {
         r = max(r, mx[a[l - 1]]);
         cnt2[a[l - 1]]++;
         if(cnt2[a[l - 1]] > 1) break;
      }
      if(r - l < bestr - bestl) {
         bestl = l;
         bestr = r;
      }
   }
   cout << bestl << " " << bestr << "\n";
}
#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...