HDU 5586 Sum
2015-11-29 23:04
555 查看
Problem Description
There is a number sequence {A}_{1},{A}_{2}....{A}_{n}A1,A2....An,you
can select a interval [l,r] or not,all the numbers {A}_{i}(l
\leq i \leq r)Ai(l≤i≤r) will
become f({A}_{i})f(Ai).f(x)=(1890x+143)
mod 10007f(x)=(1890x+143)mod10007.After
that,the sum of n numbers should be as much as possible.What is the maximum sum?
Input
There are multiple test cases. First line of each case contains a single integer n.(1\leq
n\leq {10}^{5})(1≤n≤105) Next
line contains n integers {A}_{1},{A}_{2}....{A}_{n}A1,A2....An.(0\leq
{A}_{i}\leq {10}^{4})(0≤Ai≤104) It's
guaranteed that \sum
n\leq {10}^{6}∑n≤106.
Output
For each test case,output the answer in a line.
Sample Input
Sample Output
There is a number sequence {A}_{1},{A}_{2}....{A}_{n}A1,A2....An,you
can select a interval [l,r] or not,all the numbers {A}_{i}(l
\leq i \leq r)Ai(l≤i≤r) will
become f({A}_{i})f(Ai).f(x)=(1890x+143)
mod 10007f(x)=(1890x+143)mod10007.After
that,the sum of n numbers should be as much as possible.What is the maximum sum?
Input
There are multiple test cases. First line of each case contains a single integer n.(1\leq
n\leq {10}^{5})(1≤n≤105) Next
line contains n integers {A}_{1},{A}_{2}....{A}_{n}A1,A2....An.(0\leq
{A}_{i}\leq {10}^{4})(0≤Ai≤104) It's
guaranteed that \sum
n\leq {10}^{6}∑n≤106.
Output
For each test case,output the answer in a line.
Sample Input
2 10000 9999 5 1 9999 1 9999 1
Sample Output
19999 22033 求个 差值然后求个连续和最大就好了#include<cmath> #include<cstdio> #include<cstring> #include<algorithm> using namespace std; typedef long long LL; const int maxn = 1e5 + 5; int n; long long a[maxn], b[maxn], c[maxn], sum, k; int main() { while (scanf("%d", &n) != EOF) { k = sum = 0; for (int i = 1; i <= n; i++) { scanf("%d", &a[i]); b[i] = (a[i] * 1890 + 143) % 10007; c[i] = b[i] - a[i]; sum += a[i]; } long long u = 0; for (int i = 1; i <= n; i++) { if (u + c[i] > 0) u = u + c[i]; else u = 0; if (u > k) k = u; } printf("%I64d\n", sum + k); } return 0; }
相关文章推荐
- Linux下常用命令总结
- 红黑树
- 大小写转换函数
- F5多出口配置
- Activity横竖屏切换时生命周期变化 转载
- mac osx get postgresql path
- EJB三种bean
- 堆排序/优先级队列
- HDU 5565 Clarke and baton
- log4j输出日志到flume-ng(个人记录)
- 资源之收集列表整理
- svn 历史记录不显示 (show log不显示)
- Scrapy框架学习笔记二
- 响应式布局
- 性能优化之读写分离二
- php读取本地文件常用函数
- swift 变量、元组、运算符
- 抓取登录后的数据
- Java Web入门项目之“网络交友”的设计与实现
- 三星NOTE2 国行N7100线刷港行4.4.2一体包失败后救砖教程,深刻的记录。