100求优化,Subtask #1没过
查看原帖
100求优化,Subtask #1没过
877062
chaizechen_czc楼主2023/8/29 14:17
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<algorithm>
#include<cmath>
#include<queue>
using namespace std;

int main(){
    int n;
    cin>>n;
    int sum[100001]={0};
    int ret=0;
    int now=0;
    for(int i=0;i<n;i++){
        int temp;
        cin>>temp;
        now+=temp;
        sum[i]=now;
    }
    for(int i=0;i<n-1;i++){
        //如果后面的长度小于目前最长的长度,那可以结束遍历
        if(n-i+1<=ret)break;
        for(int j=i+1;j<n;j+=2){
            int num_boy;
            if(i==0)num_boy=sum[j];
            else num_boy=sum[j]-sum[i-1];
            if(num_boy*2==(j-i)+1){
                int len=j-i+1;
                ret=max(len, ret);
            }
        }
    }
    cout<<ret<<endl;
}

2023/8/29 14:17
加载中...