【zzulioj 1837 LT说我不服 + dp】
发布日期:2021-11-04 12:59:31 浏览次数:8 分类:技术文章

本文共 832 字,大约阅读时间需要 2 分钟。

Description

对于上一道题目LT不服,表示那么简单的题目不屑于去做,所以我们决定加大一下题目的难度,下面是我们LT出的题目:

假如给你一个由n个数组成的序列A1, A2, A3, A4 …… An。你可以选择任意一个大小的区间,将其中的每一个数x变成(x*1888+101)%14507。
求这n个数的最大和可能是多少。
Input

输入有多组数据

每组数据第一行输入一个整数n为序列元素个数。(1 <= n <= 100000)
第二行n个整数A1, A2, A3, A4 …… An。(0 <= Ai <= 10000)
Output

每组样例输出一行答案。

Sample Input

2

10000 9999
5
1 9999 1 9999 1
Sample Output

19999

21989
HINT

范围在int内

Source

LT系列

实际就是求单位区间内,将x变成(x*1888+101)%14507 - x,的最大和 ;

#include
int main(){ int N,i,pa; while(scanf("%d",&N)!=EOF) { int ans = 0, pl = 0, sum = 0; for(i = 1; i <= N ;i++) { scanf("%d",&pa); ans += pa; if(pl > 0) pl += (pa * 1888 + 101) % 14507 - pa; else pl = (pa * 1888 + 101) % 14507 - pa; if(sum < pl) sum = pl; } printf("%d\n",ans + sum); } return 0;}

转载地址:https://blog.csdn.net/WYK1823376647/article/details/52510584 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【SDUT [2146]最小子序列和】
下一篇:【河南省第九届ACM竞赛 A 题 && zzulioj 1923: 表达式求值 + 栈】

发表评论

最新留言

能坚持,总会有不一样的收获!
[***.219.124.196]2024年04月05日 01时52分22秒