CF889E Mod Mod Mod
CF889E Mod Mod Mod#
一道有趣的题,考虑有意义的取值,设表示的值,那么一定存在,否则我们可以让整体加一直到达到上界,这样显然更优,所以有意义的取值只有个,这样我们可以去维护这些取值的答案。具体的,设表示到第轮,在后的值为高于当前数的和,这样答案就为。
用来转移。
Code
#include<cstdio>
#include<iostream>
#include<algorithm>
#include<map>
#define LL long long
#define IN inline
using namespace std;
const int N = 2e5 + 5;
int n; LL a[N];
IN LL read() {
LL res = 0; char ch = getchar();
for (; !isdigit(ch); ch = getchar());
for (; isdigit(ch); ch = getchar()) res = (res << 3) + (res << 1) + (LL)(ch ^ 48);
return res;
}
map<LL, LL> f;
int main() {
n = read();
for (LL i = 1; i <= n; i++) a[i] = read();
f[a[1] - 1] = 0;
for (int i = 2; i <= n; i++) {
for (auto j = f.lower_bound(a[i]); j != f.end(); f.erase(j++)) {
LL v = j->first % a[i], g = j->first;
f[v] = max(f[v], j->second + (LL)(i - 1) * (g - v));
f[a[i] - 1] = max(f[a[i] - 1], j->second + (LL)(i - 1) * ((g + 1) / a[i] * a[i] - a[i]));
}
}
LL ans = 0;
for (auto i : f) ans = max(ans, i.second + (LL)n * i.first);
printf("%lld\n", ans);
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)