天天看点

codeforces- 1117A. Best Subsegment-题解

题目大意:

 在一串数字中找到最大的数字,然后计算出这串数中最长的连续个数

eg:3 3 2 2 2 2,答案应为 2(这样说应该清楚了2333)

思路:

 1.找到最大的数

 2.计次的方法计算连续数

#include<iostream>
int a[100000];
using namespace std;
int main(){
 	int n;
 	cin>>n;                   //5
 	int k=0,max=0;
 	for(int i=0;i<n;i++){
	 	cin>>a[i];            //6 1 6 6 0
 		if(a[i]>max)
 			max=a[i];
	}                         //找到a[i]中最大的那个数 
	int ans=0;
 	for(int i=0;i<n;i++){
  		if(a[i]==max){	
		  	ans=0;
   			while(a[i]==max&&i<n){
    			ans++;
    			i++;
   			}
   			if(ans>k)
   				k=ans;
  		}
 	}
 	cout<<k<<endl;
 	return 0; 
}
           

继续阅读