Codeforces 1090M. The Pleasant Walk

给n个1-n的数,问你最长的不同序列长度。
我们用数组b记录当前的最长不同序列的长度,如果ai = ai-1,那么bi = 1,否则bi = bi-1+1

#include <bits/stdc++.h>
using namespace std;
int n,k,a[101010],b[101010],ans;
int main(){
	ios::sync_with_stdio(false);
	cin.tie(0);cout.tie(0);
	cin>>n>>k;
	for(int i = 0;i<n;i++)
		cin>>a[i];
	b[0] = 1;
	for(int i = 1;i<n;i++){
		if(a[i] != a[i-1]) b[i] = b[i-1] + 1;
		else b[i] = 1; 
	}
	for(int i = 0;i<n;i++)
		ans = max(b[i],ans);
	cout<<ans;
	return 0;
} 

猜你喜欢

转载自blog.csdn.net/winhcc/article/details/85036618