问一波玄学
查看原帖
问一波玄学
1252442
lucy2012楼主2024/4/22 19:04

为什么这样会wa和re

#include<bits/stdc++.h>
using namespace std;
int n,dp[100010],a,maxx=-99999999;
int main(){
    cin>>n;
    cin>>dp[1];
    for(int i=2;i<=n;i++){
    	cin>>a;
    	dp[i]=max(dp[i-1]+a,a);
    	maxx=max(maxx,dp[i]);
	}
	cout<<maxx;
	return 0;
}

而这样不会

#include<bits/stdc++.h>
using namespace std;
int n,dp[1000010],a,maxx=-999999999;//dp数组多加了一个0,maxx多加了一个9
int main(){
    cin>>n;
    cin>>dp[1];
    for(int i=2;i<=n;i++){
    	cin>>a;
    	dp[i]=max(dp[i-1]+a,a);
    	maxx=max(maxx,dp[i]);
	}
	cout<<maxx;
	return 0;
}

感觉上一个数组没开小啊,maxx开大了有用吗?

2024/4/22 19:04
加载中...