给出一段序列,选出其中连续且非空的一段使得这段和最大。
注:非空 是dp吧;#include#include #include #include #include using namespace std;int a[200010],f[200010];int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%d",&a[i]); for(int i=1;i<=n;i++) f[i]=a[i]; int p=f[1]; for(int i=2;i<=n;i++) { if(f[i-1]>0) f[i]+=f[i-1]; if(f[i]>p) p=f[i]; } printf("%d",p); return 0;}