dalao指点一下思路对不对 样例过了但wa
查看原帖
dalao指点一下思路对不对 样例过了但wa
1366067
wei_learn_city楼主2024/7/30 17:17

分两种情况1.全负数累加和求绝对值+1 2.因为第一个正整数后给的数据肯定不会小于0 最小值就为第一个正整数前 负数的绝对值

#include<bits/stdc++.h>
using namespace std;
int sum[100001],a[100001],n,cnt,su;
int main()
{
    
    cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
        if(a[i]<0)
        {
            cnt++;
        }
    }
    sum[0]=a[0];
    for(int i=1;i<n;i++)
    {
        sum[i]=sum[i-1]+a[i];
    }
     if(cnt==n)
	    {
	       cout<<abs(sum[n-1])+1;
	        return 0;
	    }
	    for(int i=0;i<n;i++)
	    {
	        if(a[i]>0)
	        {
	            cout<<sum[i]+1;
	            return 0;
	        }
	    }
}
2024/7/30 17:17
加载中...