蒟蒻求助!#8 WA,__int128已开
查看原帖
蒟蒻求助!#8 WA,__int128已开
712533
__hqt__楼主2024/1/23 20:43

记录
代码:

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
__int128 a[1000001],b[1000001],c[1000001];
__int128 input()
{
	__int128 x=0;
	char c;
	bool flag=0;
	c=getchar();
	while(c<'0' || c>'9')
	{
		if(c=='-')
		{
			flag=1;
		}
		c=getchar();
	}
	while(c>='0' && c<='9')
	{
		x=x*10+(c-'0');
		c=getchar();
	}
	return (flag?-x:x);
}
void print(__int128 x)
{
	int t[101]={0},k=0;
	if(x<0)
	{
		putchar('-');
		x=-x;
	}
	while(x)
	{
		t[++k]=x%10;
		x/=10;
	}
	if(k==0)
	{
		k++;
	}
	for(int i=k;i>=1;i--)
	{
		putchar(t[i]+'0');
	}
}
int main()
{
	//ios::sync_with_stdio(0);
	//cin.tie(0);
	//cout.tie(0);
	__int128 n=input(),p=input(),t=-INT_MAX;
	b[0]=-INT_MAX;
	for(__int128 i=1;i<=n;i++)
	{
		a[i]=input();
	}
	for(__int128 i=1;i<=n;i++)
	{
		b[i]=max(b[i-1]+a[i],a[i]);
		t=max(t,b[i]);
		c[i]=t;
	}
	__int128 ans=c[1];
	for(__int128 i=1;i<n;i++)
	{
		ans+=c[i];
	}
	print(max(ans,c[1])%p);
	putchar('\n');
}

谢谢大佬!

2024/1/23 20:43
加载中...