题目描述
FJ的N头奶牛站成了一行,每头奶牛都有一个生产值,FJ认为如果将生产值相同的奶牛放在一起更令人注目。
为了使连续相同的奶牛数更多,FJ决定移走一些奶牛,但他只能移走生产值相同的奶牛,请问如何移才能得到最大的生产值连续相同的奶牛。
请求出FJ能得到的最大连续相同生产值的奶牛数。
输入输出格式
输入格式:
第一行,一个整数N(1≤N≤1000);
接下来N行,每行一个整数,表示奶牛的生产值。(生产值的范围是[0,1000000])。
输出格式:
一个整数,表示最大连续相同生产值的奶牛数。
输入输出样例
输入样例:
9 2 7 3 7 7 3 7 5 7
输出样例:
4
样例说明: 把生产值为3的奶牛移走,剩下2 7 7 7 7 5 7,连续的相同生产值的奶牛最大为4。
#include<bits/stdc++.h> using namespace std; int a,b,x; int u[10000000],k[10000000],box,maxx,l,r ; int main() { cin>>a; for(int i=1;i<=a;i++) cin>>u[i]; for(int i=1;i<=a;i++) { for(int j=1;j<=a;j++) { if(u[i]==u[j]) continue; else box++,k[box]=u[j]; } for(l=1,r=2;r<=box;r++) { if(k[r]!=k[r-1]) { maxx=max(r-l,maxx),l=r; } } maxx=max(r-l,maxx); box=0; } cout<<maxx; return 0; }