题解的核心代码思路不理解
查看原帖
题解的核心代码思路不理解
996601
zzx1228楼主2024/3/14 16:28
#include<bits/stdc++.h>
using namespace std;

const int N = 1e6+7;

long long n;
long long cnt[N],miq[N],miz[N];
long long ans=0;

int main(){
    cin>>n;
    miq[0] = 1e17;
	miz[n+1] = 1e17;
    for(long long i = 1;i <= n;i++){
        cin>>cnt[i];
        cnt[i] = cnt[i-1] + cnt[i];
        miq[i]=min(cnt[i],miq[i-1]);
    }
    for(long long i = n;i >= 1;i--)
		miz[i] = min(cnt[i],miz[i+1]);
    for(long long i=1;i<=n;i++)
		if((miz[i] - cnt[i-1] >= 0) && (miq[i - 1] + cnt[n] - cnt[i - 1] >= 0))
			ans++;
    cout<<ans;
    
    return 0;
}

这是题解第二篇的代码(我做了一些更改)

现在的问题是 “ans++” 的那一部分的代码意思并不理解,求助(QAQ)

2024/3/14 16:28
加载中...