巨弱求助
  • 板块题目总版
  • 楼主Zhangky2021
  • 当前回复1
  • 已保存回复1
  • 发布时间2022/11/5 12:28
  • 上次更新2023/10/27 04:14:14
查看原帖
巨弱求助
567002
Zhangky2021楼主2022/11/5 12:28
#include<bits/stdc++.h>
using namespace std;
long long dp[1000005], t[1000005], a[1000005], ma=LONG_LONG_MIN, f[1000005];
int main(){
	long long n, p;
	cin>>n>>p;
	for(int i=1;i<=n;i++){
		cin>>a[i];
		dp[i]=max(dp[i-1]+a[i], a[i]);
		ma=max(ma, dp[i]);
		t[i]=ma;
	}
	f[1]=t[1];
	ma=LONG_LONG_MIN;
	long long ga=LONG_LONG_MIN;
	for(int i=2;i<=n;i++){
		ma=max(ma, f[i-1]+t[i-1])%p;
		f[i]=ma%p;
	}
	for(int  i=1;i<=n;i++){
		ga=max(ga, f[i])%p;
	}
	cout<<ga%p;
	return 0;
}

https://www.luogu.com.cn/problem/P1982#submit 为什么只能的10pts啊?

2022/11/5 12:28
加载中...