Submission #555565

#TimeUsernameProblemLanguageResultExecution timeMemory
555565snasibov05Nekameleoni (COCI15_nekameleoni)C++14
56 / 140
3065 ms1616 KiB
#include <bits/stdc++.h>
 
using namespace std;
 
int main() {
  	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
 
    int n, k, m; cin >> n >> k >> m;
    vector<int> a(n+1);
    for (int i = 1; i <= n; ++i) cin >> a[i];
 
    for (int i = 0; i < m; ++i){
        int t; cin >> t;
        if (t == 1) {
            int p, v; cin >> p >> v;
            a[p] = v;
        } else{
            int ans = n + 1;
            vector<int> ncnt(k+1);
            int cnt = 0;
            int r = 1;
            for (int l = 1; l <= n; ++l){
                while (cnt < k && r <= n) {
                    ncnt[a[r]]++;
                    if (ncnt[a[r]] == 1) cnt++;
                    r++;
                }
                if (cnt < k) break;
                ans = min(ans, r - l);
                ncnt[a[l]]--;
                if (ncnt[a[l]] == 0) cnt--;
            }
            if (ans == n+1) ans = -1;
            cout << ans << "\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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...