10分代码,样例过了
查看原帖
10分代码,样例过了
759976
wflhx2011楼主2023/10/10 17:26
#include<bits/stdc++.h>
using namespace std;
__int128 a[1000005],ma=-1e36,d[1000005],b[1000005];
__int128 read()
{
	__int128 s=0,f=1;
	char ch=getchar();
	while(ch<'0'||ch>'9')
		if(ch=='-')
		{
			f=-1;
			ch=getchar();
		}
	while(ch>='0'&&ch<='9')
		s=(s<<3)+(s<<1)+ch-'0',ch=getchar();
	return s*f;
}
__int128 m(__int128 x,__int128 y)
{
	return x>y?x:y;
}
int main()
{
	__int128 n=read(),mo=read();
	for(__int128 i=1;i<=n;i++)
		a[i]=read();
	b[1]=a[1];
    for(__int128 i=2;i<=n;i++)
   	    b[i]=m(a[i],a[i]+b[i-1]);
   	d[1]=a[1];
   	for(__int128 i=2;i<=n;i++)
   		d[i]=d[i-1]+b[i-1];
   	for(__int128 i=1;i<=n;i++)
   		if(d[i]>ma)
   			ma=d[i];
   	cout<<(long long)(ma%mo);
	return 0;
}
2023/10/10 17:26
加载中...