丢手绢不知道漏了哪一点,恳请好心人帮忙

通过了80%,用双指针写的,想了一下午也想不明白怎么回事😫
#include<iostream>
#include<algorithm>
using namespace std;
int a[101000];
int main()
{
    int n;
    cin>>n;
    int dis=0;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        dis+=a[i];
    }
    a[0]=a[n];
    int r=0,ans=0,temp=0;
    for(int l=1;l<=n;l++){
        while(temp<dis/2){
            r++;
            temp+=a[r%n];
        }
        if(temp==dis)continue;
        temp=min(dis-temp,temp);
        ans=max(temp,ans);
        temp-=a[l];
    }
    cout<<ans;
}


全部评论
各路大神不要不说话,我很需要您的帮助😫
点赞
送花
回复
分享
发布于 2022-03-22 21:12
https://ac.nowcoder.com/acm/contest/view-submission?submissionId=65374542&returnHomeType=1&uid=857577897
点赞
送花
回复
分享
发布于 2023-11-14 21:52 陕西
滴滴
校招火热招聘中
官网直投

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务