90pts求调
查看原帖
90pts求调
866535
juruo5e59楼主2024/5/20 12:56

WA on #9 and #11 评测记录

#include <bits/stdc++.h>
#define int long long
#define llint __int128
using namespace std;
int a[1000010];
llint s[1000010], sp[1000010], sc[1000010];
signed main() {
	ios::sync_with_stdio(0);
	cin.tie(nullptr);
	cout.tie(nullptr);
	int n, p;
	cin >> n >> p;
	for (int i = 1; i <= n; i ++)
		cin >> a[i], s[i] = s[i - 1] + a[i];
	llint mins = 0;
	sc[1] = sp[1] = s[1];
	for (int i = 2; i <= n; i ++) {
		sp[i] = max(sp[i - 1], s[i] - mins);
		mins = min(s[i], mins);
	}
	sc[2] = sp[1] + sc[1];
	for (int i = 3; i <= n; i ++)
		sc[i] = sc[i - 1] + max((llint)0, sp[i - 1]);
	llint ans = sc[1];
	for (int i = 2; i <= n; i ++)
		ans = max(ans, sc[i]);
	cout << (int)(ans % p);
	return 0;
}

__int128 和 long long 已开

2024/5/20 12:56
加载中...