90pts求助(WA on #7)
查看原帖
90pts求助(WA on #7)
1074084
asd890123楼主2025/6/23 19:55

代码

#include<bits/stdc++.h>
const int N = 1e6 + 5;
int a[N];
__int128 tz[N],mxtz[N],sc[N];
int main(){
    std::cin.tie(0)->sync_with_stdio(0);
    memset(mxtz,0xc0,sizeof(mxtz));
    memset(sc,0xc0,sizeof(sc));
    int n,p;std::cin >> n >> p;
    for (int i = 1;i <= n;i++) std::cin >> a[i];
    for (int i = 1;i <= n;i++){
        tz[i] = std::max(tz[i - 1],(__int128)0) + a[i];
        mxtz[i] = std::max(mxtz[i - 1],tz[i]);
    }
    sc[1] = mxtz[1];
    __int128 ans = sc[1];
    for (int i = 2;i <= n;i++){
        sc[i] = std::max(sc[i],sc[i - 1] + mxtz[i - 1]);
        ans = std::max(ans,sc[i]);
    }
    std::cout << (int)(ans % p) << '\n';
    return 0;
}
2025/6/23 19:55
加载中...