天天看點

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; 
}
           

繼續閱讀