我整个人都傻了,求助
查看原帖
我整个人都傻了,求助
122794
tuya_楼主2020/10/1 17:08
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<algorithm>
#include<queue>
#include<stack>
#include<vector>
#define ll long long
using namespace std;
const int maxn=1000002;
const ll inf=-9999999999999999;
ll n,p;
ll f[maxn],a[maxn],ans=inf;
//手上数字 
ll f2[maxn],f3[maxn];
//分数
int main(){
	//freopen("1.txt","r",stdin);
	scanf("%lld%lld",&n,&p);
	for(int i=1;i<=n;i++){
		scanf("%lld",&a[i]);
	}
	
	f[1]=a[1];
	f3[1]=a[1];
	ll ma=f[1];
	for(int i=2;i<=n;i++){
		f[i]=max(f[i-1]+a[i],a[i]);
		f3[i]=max(f[i],f3[i-1]);
	}
	
	f2[1]=f3[1];
	ans=f2[1];
	for(int i=2;i<=n;i++){
		f2[i]=max(f2[i-1],f2[i-1]+f3[i-1]);
		ans=max(ans,f2[i]);
	}
	ans%=p;
	printf("%lld",ans);
	return 0;
}
2020/10/1 17:08
加载中...