南沙C++信奥赛陈老师解一本通题: 1963:【13NOIP普及组】小朋友的数字

 【题目描述】

有 nn 个小朋友排成一列。每个小朋友手上都有一个数字,这个数字可正可负。规定每个小朋友的特征值等于排在他前面(包括他本人)的小朋友中连续若干个(最少有一个)小朋友手上的数字之和的最大值。

作为这些小朋友的老师,你需要给每个小朋友一个分数,分数是这样规定的:第一个小朋友的分数是他的特征值,其它小朋友的分数为排在他前面的所有小朋友中(不包括他本人),小朋友分数加上其特征值的最大值。

请计算所有小朋友分数的最大值,输出时保持最大值的符号,将其绝对值对 p 取模后输出。

【输入】

第一行包含两个正整数 n、p,之间用一个空格隔开。

第二行包含 nn 个数,每两个整数之间用一个空格隔开,表示每个小朋友手上的数字。

【输出】

输出只有一行,包含一个整数,表示最大分数对 pp 取模的结果。

【输入样例】

5 997
1 2 3 4 5

【输出样例】

21

【提示】

【输入输出样例说明】

小朋友的特征值分别为1、3、6、10、15,分数分别为1、2、5、11、21,小朋友的特征值分别为对 997 的模是 21。

【输入输出样例 2】

输入:

5 7
-1 -1 -1 -1 -1

 

输出:

-1

 

【输入输出样例说明】

小朋友的特征值分别为−1、−1、−1、−1、−1,分数分别为−1、−2、−2、−2、−2,最大值−1−1 对 77 的模为−1−1,输出−1。

【数据范围】

对于 50%的数据,1≤n≤1,000,1≤p≤1,000 所有数字的绝对值不超过 1000;

对于 100%的数据,1≤n≤1,000,000,1≤p≤109,其他数字的绝对值均不超过 109。

#include <bits/stdc++.h>
using namespace std;
long long  dp[1000001],a[1000001]; //dp求最大连续字段和 dp[i]以i结束的最长连续字段和 
long long score[1000001],feature[1000001];	//分数 和特征值先求出 
int main()
{long long n,p,ans=1e-10;cin>>n>>p;for(int i=1;i<=n;i++){scanf("%lld",&a[i]);dp[i]=a[i];}	for(int i=1;i<=n;i++)dp[i]=max(dp[i],dp[i-1]+a[i]);		long long maxv=feature[1]=dp[1];for(int i=2;i<=n;i++){maxv=max(dp[i],maxv);feature[i]=maxv;}	score[1]=feature[1]%p;score[2]=( score[1]+feature[1] )%p;for(int i=3;i<=n;i++)score[i]=max(score[i-1], score[i-1]+feature[i-1]  )%p;if(score[1] > 0)  //如果第一个分数大于0,最后个一定是最大的 ans = score[n];  elseans = max(score[1], score[n]);// 如果第一个小于0,则要比较第1个跟最后一个 cout<<ans;return 0;
}

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/806479.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python工程数学2程序开胃菜(上)

2 数学程序开胃菜 在上一章中( https://mp.weixin.qq.com/s/kKenXcEXIeLd_u_2kymF8A ),我们介绍了python的IDE;用numpy实现向量计算;用Matplotlib绘图;用sympy实现微积分和求导;用SciPy实现积分;用VPython实现弹跳球动画。在本章中,您将了解 Python 命令式编程风格的线…

河道水位识别系统

河道水位识别系统采用视频智能分析功能,河道水位识别系统利用前端摄像头实时获取前端视频视频后,自动识别水尺位置,并在水尺区域将水尺进行数字分割,河道水位识别系统然后再通过水位线的位置,通过AI图像识别技术将数字与水位线位置结合对别,即可识别出水尺读数。河道水位…

自动识别是否穿着工作服

自动识别是否穿着工作服通过AI视频分析技术,自动识别是否穿着工作服对作业区域现场人员工作服是否穿戴进行7*24小时实时监测。自动识别是否穿着工作服监测到现场有人未穿戴工作服时,不需人为干预立即抓拍告警,并联动音箱提醒现场人员穿戴工作服。自动识别是否穿着工作服代替…

河道采砂实时监测系统

河道采砂实时监测系统通过opencv网络模型技术,河道采砂实时监测系统能够对河道两岸非法采砂船进行7*24小时自动检测识别,河道采砂实时监测系统发现违规采砂行为(采砂船),不需人为干预自动告警同步回传给后台通知后台值班人员及时制止。河道采砂实时监测系统通过AI技术手段…

学校食堂互联网明厨亮灶智能监控系统

学校食堂互联网明厨亮灶智能监控系统通过AI识别分析技术,学校食堂互联网明厨亮灶智能监控系统对学校食堂餐厅监控画面开展实时检测,学校食堂互联网明厨亮灶智能监控系统对后厨厨师没有按照餐厅要求佩戴厨师帽厨师服口罩,更有甚者在厨房违规抽烟以及玩手机等行为,学校食堂互…

垃圾桶溢出识别监测系统

垃圾桶溢出识别监测系统通过计算机视觉技术,垃圾桶溢出识别监测系统对社区街道垃圾桶里面垃圾溢出满载现象进行自动识别,垃圾桶溢出识别监测系统监测到社区或者街道垃圾桶里面垃圾溢出时,不需人为干预可以立即告警提醒后台值班人员及时清理。垃圾桶溢出识别监测系统通过AI视…

未系安全带识别系统

未系安全带识别监测系统通过智能视频分析技术,未系安全带识别系统对工地/工厂监控画面中高空作业人员未系安全带行为进行监测,不需人为干预未系安全带识别系统监测到作业人员未穿戴安全带时,立即通知后台人员及时处理触发报警,避免发生其他意外情况。未系安全带识别系统除了…

人员聚众监控视频分析检测系统

人员聚众监控视频分析检测系统通过深度视觉智能分析技术,人员聚众监控视频分析检测系统对现场监控画面中选定区域实时监测,人员聚众监控视频分析检测系统检测到现场画面中人员异常聚众时,不需人为干预提醒后台值班人员及时去处理、避免发生更大的不可控的局面。人员聚众监控…

C#/.NET/.NET Core开发实战教程集

DotNetGuide介绍 DotNetGuide是一个专注于C#/.NET/.NET Core学习、工作、面试指南的GitHub知识库,该知识库在GitHub中Star数已突破6.5k+当然这离不开各位小伙伴的支持和鼓励。该知识库记录、收集和总结C#/.NET/.NET Core基础知识、学习路线、开发实战、编程技巧练习、学习视频…

VMware ESXi 8.0U3b macOS Unlocker OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布

VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 Dell HPE 定制版 9 月更新发布 VMware ESXi 8.0U3b macOS Unlocker & OEM BIOS 2.7 标准版和厂商定制版 ESXi 8.0U3 标准版,De…

VMware Tanzu Kubernetes Grid Integrated Edition (TKGI) 1.20.0 - 运营商 Kubernetes 解决方案

VMware Tanzu Kubernetes Grid Integrated Edition (TKGI) 1.20.0 - 运营商 Kubernetes 解决方案VMware Tanzu Kubernetes Grid Integrated Edition (TKGI) 1.20.0 - 运营商 Kubernetes 解决方案 Kubernetes-based container solution with advanced networking, a private con…

Cisco Secure Firewall 4200 Series FTD Software 7.6.0 ASA Software 9.22.1

Cisco Secure Firewall 4200 Series FTD Software 7.6.0 & ASA Software 9.22.1Cisco Secure Firewall 4200 Series FTD Software 7.6.0 & ASA Software 9.22.1 Firepower Threat Defense (FTD) Software - 思科防火墙系统软件 请访问原文链接:https://sysin.org/blog…