Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- typedef long long ll;
- void solve() {
- int n, k;
- cin >> n >> k;
- const int max_val = 1e5;
- vector<vector<int>> pos(max_val + 1);
- for (int i = 1; i <= n; i++) {
- int x; cin >> x;
- pos[x].push_back(i);
- }
- int ans = 0;
- for (int x = 0; x <= max_val; x++) {
- for (int i = 0, j = 0; i < (int) pos[x].size(); i++) {
- while ((pos[x][i] - pos[x][j] + 1) - (i - j + 1) > k) j++;
- ans = max(ans, min(k + i - j + 1, n));
- }
- }
- cout << ans << '\n';
- }
- signed main() {
- cin.tie(0)->sync_with_stdio(0);
- int T; cin >> T;
- while (T--) solve();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement