最大字串和
f[i]表示一定选a[i]的字串的最大值
#include <cstdio> #include <algorithm> using namespace std; typedef long long ll; const int maxn = 1005; const int inf=1e9; int n, k; int a[maxn],f[maxn]; int main() { scanf("%d", &n); for(int i = 1; i <= n; ++i) { scanf("%d", &a[i]); } //字串和最大 //f[i]表示一定要选I的字串最大和 for(int i=1;i<=n;i++) f[i]=max(f[i-1]+a[i],a[i]); int mm=-inf; for(int i=1;i<=n;i++) mm=max(mm,f[i]); printf("%d\n",mm); }
浙公网安备 33010602011771号