Submission #555667

#TimeUsernameProblemLanguageResultExecution timeMemory
555667MamedovNekameleoni (COCI15_nekameleoni)C++17
42 / 140
3075 ms1180 KiB
#pragma GCC optimize ("O3") #include <bits/stdc++.h> #define pii pair<int, int> #define piii pair<pii, int> #define vi vector<int> #define vvi vector<vi> #define vpii vector<pii> #define vvpii vector<vpii> #define f first #define s second #define oo 1000000001 #define eb emplace_back #define pb push_back #define mpr make_pair #define size(v) (int)v.size() #define ln '\n' #define ull unsigned long long #define ll long long #define all(v) v.begin(), v.end() using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); void solve() { int n, k, m; cin >> n >> k >> m; vector<int>arr(n + 1); for (int i = 1; i <= n; ++i) { cin >> arr[i]; --arr[i]; } int type, p, v; while (m--) { cin >> type; if (type == 1) { cin >> p >> v; --v; arr[p] = v; } else { int ans = oo; vector<int>cnt(k, 0); int diff = 0; int l = 1, r = 1; while (l <= n) { while (r <= n && diff < k) { cnt[arr[r]]++; if (cnt[arr[r]] == 1) { ++diff; } ++r; } if (diff == k) { ans = min(ans, r - l); } cnt[arr[l]]--; if (cnt[arr[l]] == 0) { --diff; } ++l; } if (ans == oo) ans = -1; cout << ans << ln; } } } int main() { ios_base::sync_with_stdio(false); int t = 1; //cin >> t; while (t--) { solve(); } 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...