Run ID 作者 问题 语言 测评结果 分数 时间 内存 代码长度 提交时间
199819 wuyixiang 早凉与序列4 C++ 解答错误 0 82 MS 3364 KB 608 2025-11-22 10:35:50

Tests(7/60):


#include <iostream> #define int long long using namespace std; int n,k,x,a[200005],qian[200005]; int l,r; int check(int mi) { int ans = -1e18; for(int i = mi;i <= n;i ++)ans = max(ans,qian[i] - qian[i - mi] + (min(mi,k) - mi + min(mi,k)) * x); return ans; } signed main() { cin >> n >> k >> x; if(x < 0)k = n - k,x = -x; for(int i = 1;i <= n;i ++)cin >> a[i],qian[i] = qian[i - 1] + a[i]; r = n; while(l < r) { int mid = (l + r) >> 1; if(check(mid) > check(mid + 1))r = mid; else l = mid + 1; } cout << check(l); }


测评信息: