样例没过怎么还有55分
查看原帖
样例没过怎么还有55分
162196
伟大的王夫子楼主2020/5/21 13:56

求救

#include <bits/stdc++.h>
using namespace std;
int n, m, a[1000010], c[2001], ans = 1e9;
int x = 1e9, y = 1e9;
int main() {
	cin >> n >> m;
	for (register int i = 1; i <= n; ++i) scanf("%d", a + i);
	int l = 1, r = 1, cnt = 0;
	memset(c, 0, sizeof(c));
	while (l <= r && r <= n) {
		if (cnt == m) {
			if (r - l + 1 < ans) {
				ans = r - l + 1;
				x = l, y = r;
			}
			--c[a[l]];
			cnt -= !c[a[l]];
			++l;
			continue;
		}
		++r;
		cnt += !c[a[r]];
		++c[a[r]];
	}
	cout << x << ' ' << y;
}
2020/5/21 13:56
加载中...