有大佬帮我解释一下我代码的原理吗
#include<bits/stdc++.h> using namespace std; int main() { int n,a,sum=INT_MIN,b=0; cin>>n; for(int i=1;i<=n;i++) { cin>>a; b=max(a,a+b); sum=max(sum,b); } cout<<sum<<endl; return 0; }