Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <set>
- #include <algorithm>
- using namespace std;
- int main() {
- std::ios_base::sync_with_stdio(false);
- cin.tie();
- int n, k;
- cin >> n >> k;
- vector<int> a(n);
- vector<int> cnt(26);
- set<int> uniq;
- vector<int> res;
- int l = 0;
- for (int r = 0; r < n; r++) {
- cin >> a[r];
- cnt[a[r]]++;
- uniq.insert(a[r]);
- if (uniq.size() > k) {
- res.push_back(r - l);
- while (uniq.size() > k) {
- cnt[a[l]]--;
- if (cnt[a[l]] == 0)
- uniq.erase(a[l]);
- l++;
- }
- }
- }
- res.push_back(n - l);
- sort(res.begin(), res.end());
- cout << res[res.size() - 1] << " ";
- int count = 0;
- for (int i = res.size() - 1; (i >= 0 && res[i] == res[res.size() - 1]); i--)
- count++;
- cout << count << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement