被Hack了求助
查看原帖
被Hack了求助
728626
sterios楼主2023/12/6 18:07

subtask1 第一个点WA了,求助

本蒟蒻估计爆long long力~

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1e6+5;
int n,MOD;
ll a[N],pf[N],dp[N],mx,ans;
void solve1(){
	dp[0]=LONG_LONG_MIN;
	for(int i=1;i<=n;++i)
		dp[i]=max(dp[i-1],0ll)+a[i];
	for(int i=1;i<=n;++i)
		dp[i]=max(dp[i-1],dp[i]);
	//优化 否则会爆long long 
	for(int i=1;i<=n;++i)
		dp[i]%=MOD;
}
void solve2(){
	ans=dp[1],mx=2*dp[1];
	for(int i=2;i<=n;++i)
		ans=max(ans,mx),
		mx=max(mx,mx+dp[i]);
}
signed main(){
	scanf("%d%d",&n,&MOD);
	for(int i=1;i<=n;++i)
		scanf("%lld",&a[i]),
		pf[i]=pf[i-1]+a[i];
	solve1();//求最大连续和 
	solve2();//将特征值转换为分数 
	printf("%d\n",ans%MOD);
	return 0;
}
2023/12/6 18:07
加载中...