Q3
unknown
plain_text
9 months ago
798 B
16
Indexable
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main() {
iostream::sync_with_stdio(0);
cin.tie(0);
//init();
int N, M, K;
cin >> N >> M >> K;
vector<int> chain(N);
for (int i = 0; i < N; ++i) {
cin >> chain[i];
}
unordered_map<int, int> freqs;
int l = 0, cnt = 0;
int maxLen = 0, count = 0;
for (int r = 0; r < N; ++r) {
if (++freqs[chain[r]] == 1) ++cnt;
while (cnt > K || (r - l + 1) > M) {
if (--freqs[chain[l]] == 0) --cnt;
++l;
}
int len = r - l + 1;
if (len > maxLen) {
maxLen = len;
count = 1;
} else if (len == maxLen) {
++count;
}
}
cout << maxLen << " " << count << '\n';
}Editor is loading...
Leave a Comment