当前位置:网站首页>HDU - 1024 Max Sum Plus Plus(DP)
HDU - 1024 Max Sum Plus Plus(DP)
2022-07-01 05:29:00 【WA_ automata】
HDU - 1024 Max Sum Plus Plus(DP)
Problem Description
Now I think you have got an AC in Ignatius.L’s “Max Sum” problem. To be a brave ACMer, we always challenge ourselves to more difficult problems. Now you are faced with a more difficult problem.
Given a consecutive number sequence S1, S2, S3, S4 … Sx, … Sn (1 ≤ x ≤ n ≤ 1,000,000, -32768 ≤ Sx ≤ 32767). We define a function sum(i, j) = Si + … + Sj (1 ≤ i ≤ j ≤ n).
Now given an integer m (m > 0), your task is to find m pairs of i and j which make sum(i1, j1) + sum(i2, j2) + sum(i3, j3) + … + sum(im, jm) maximal (ix ≤ iy ≤ jx or ix ≤ jy ≤ jx is not allowed).
But I`m lazy, I don’t want to write a special-judge module, so you don’t have to output m pairs of i and j, just output the maximal summation of sum(ix, jx)(1 ≤ x ≤ m) instead.
Input
Each test case will begin with two integers m and n, followed by n integers S1, S2, S3 … Sn.
Process to the end of file.
Output
Output the maximal summation described above in one line.
Sample Input
1 3 1 2 3
2 6 -1 4 -2 3 -2 3
Sample Output
6
8
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N = 1000010;
int a[N],f[N];
int main()
{
int n,m;
while(scanf("%d%d",&m,&n)!=EOF)
{
memset(f,0,sizeof f);
for(int i=1;i<=n;i++) scanf("%d",&a[i]);
for(int i=1;i<=m;i++)
{
int sum=0;
for(int j=1;j<=i;j++)
sum+=a[j];
f[n]=sum;
for(int j=i+1;j<=n;j++)
{
sum=max(sum,f[j-1])+a[j];
f[j-1]=f[n];
f[n]=max(f[j-1],sum);
}
}
printf("%d\n",f[n]);
}
return 0;
}
边栏推荐
- Application of industrial conductive slip ring
- Spanner 论文小结
- Numeric amount plus comma; JS two methods of adding three digits and a comma to numbers; JS data formatting
- Usage and principle of synchronized
- One click deployment of highly available emqx clusters in rainbow
- LRU cache for leveldb source code analysis
- Unity项目心得总结
- 0xc000007b应用程序无法正常启动解决方案(亲测有效)
- JDBC常见面试题
- Unity drags and modifies scene camera parameters under the editor
猜你喜欢
![[NLP Li Hongyi] notes](/img/8e/a51ca5eee638facd54270fb28d2fce.jpg)
[NLP Li Hongyi] notes

第05天-文件操作函数
![[RootersCTF2019]babyWeb](/img/b4/aa8f8e107a9dacbace72d4717b1834.png)
[RootersCTF2019]babyWeb

Cockroachdb: the resistant geo distributed SQL database paper reading notes

Copy baby prompt: material cannot be empty. How to solve it?

C WPF uses dockpanel to realize screenshot box

Use and principle of reentrantlock

Tcp/ip explanation (version 2) notes / 3 link layer / 3.2 Ethernet and IEEE 802 lan/man standards

导电滑环短路的原因以及应对措施

Leetcode top 100 question 2 Add two numbers
随机推荐
Some common commands of podman
如何开始学剪辑?零基础详细解析
Tcp/ip explanation (version 2) notes / 3 link layer / 3.2 Ethernet and IEEE 802 lan/man standards
2/15 (awk, awk conditions, awk processing design can perform additional tasks, and use awk array +for loop to realize advanced search)
Use and principle of wait notify
Global and Chinese markets of Ethernet communication modules 2022-2028: Research Report on technology, participants, trends, market size and share
LevelDB源码分析之LRU Cache
Leetcode top 100 questions 1 Sum of two numbers
How to create a progress bar that changes color according to progress
QDataStream的简单读写验证
提高企业产品交付效率系列(1)—— 企业应用一键安装和升级
Application and principle of ThreadPoolExecutor thread pool
了解 JVM 中几个相关问题 — JVM 内存布局、类加载机制、垃圾回收
Data consistency between redis and database
How to hide browser network IP address and modify IP internet access?
Usage and principle of synchronized
AcWing 889. 01 sequence satisfying the condition (Cartland number)
Cockroachdb: the resistant geo distributed SQL database paper reading notes
CentOS 7使用yum安装PHP7.0
How to select conductive slip ring material