洛谷P1115C++代码提问

luoguP1115 想了一个方法 有点问题一直满分不了 但是自己又找不出来 希望各位大佬可以帮忙看一下。谢谢大佬们。 代码如下:

#include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cmath>
using namespace std;

int a[200005];
int s[200005];
int main()
{
    int n;
    scanf("%d",&n);
    for(int i=1;i<=n;i++)scanf("%d",&a[i]);
    int num=a[1],sum=a[1];
    for(int i=1;i<=n;i++)s[i]=s[i-1]+a[i];
    for(int i=2;i<=n;i++)
    {
        sum=max(sum,s[i]-num); 
        num=min(num,s[i]);
    }
    printf("%d",sum);
    return 0;

}

麻烦各位大佬了

不知道程序是什么思路,但是下面的例子错了
3
1 3 -1