当前位置: 首页 > news >正文

优秀行业网站保山专业的网站建设

优秀行业网站,保山专业的网站建设,网站联动,wap网站怎么发布5057. 截断数组 - AcWing题库 给定一个长度为 n 的正整数数组 a1,a2,…,an 和一个正整数 p。 现在,要将该数组从中间截断,得到两个非空子数组。 我们规定,一个数组的价值等于数组内所有元素之和模 p 的结果。 我们希望,将给定数组…

 5057. 截断数组 - AcWing题库

给定一个长度为 n 的正整数数组 a1,a2,…,an 和一个正整数 p。

现在,要将该数组从中间截断,得到两个非空子数组。

我们规定,一个数组的价值等于数组内所有元素之和模 p 的结果。

我们希望,将给定数组截断后,得到的两个非空子数组的价值之和尽可能大。

请你输出这两个非空子数组的价值之和的最大可能值。

输入格式

第一行包含两个整数 n 和 p。

第二行包含 n 个整数 a1,a2,…,an。

输出格式

一个整数,表示价值之和的最大可能值。

数据范围

前 33 个测试点满足 2≤n≤10。
所有测试点满足 2≤n≤105,2≤p≤10000,1≤ai≤106。

输入样例1:
4 10
3 4 7 2
输出样例1:
16
输入样例2:
10 12
16 3 24 13 9 8 7 5 12 12
输出样例2:
13

题意是找到一个点x,然后求 1到x 的区间和加上 x+1到n 的区间和最大,所以只需要遍历 x 的位置,就是1到n,然后根据前缀和算法O(1)得到区间和即可

AC ode:

#include<bits/stdc++.h>
using namespace std;
int arr[100010];
long long s[100010];
long long ans = -1;
int p, n;
int main() {cin >> n >> p;for (int i = 1; i <= n; i++) {cin >> arr[i];s[i] = s[i - 1] + arr[i];}for (int i = 1; i <= n - 1; i++) {long long l = s[i] % p;long long r = (s[n] - s[i]) % p;long long x = l + r;ans = max(ans, x);}cout << ans;
}

http://www.yayakq.cn/news/869090/

相关文章:

  • 厚街做网站上海市工商局官网
  • 网页制作与网站建设英文翻译长沙广告设计公司排名
  • 网站规划设计的步骤网建科技北京有限公司
  • 建站软件常德市城市建设局网站
  • 品牌网站设计服务贸易网站怎么做
  • 中小企业的网站建设网站单页模板
  • 广州网站开发设计哈尔滨房地产网站建设
  • 企业网站建设市场分析如何用excel来做网站后台
  • 网站后台管理产品排序邢台163官网
  • 建设一个网站的所有代码网站建设推广哪里实惠
  • 手机移动端网站怎么做的凡科快图品牌介绍
  • 阿里云做网站号码帮人做网站
  • 卖产品的网站怎么做织梦网站模板免费下载
  • 网站建设和网站运营包括什么塑钢模板价格一平方
  • 做婚恋网站需要什么资质网络搞钱路子
  • 栾城网站建设天津中小企业网站建设
  • 装饰网站建设的方案公司网站后台管理
  • 郴州建设公司网站如何建网站模板
  • 泉州网站建设轩奇网讯企业网站软件
  • 福建交通建设网站wordpress搜索框位置
  • 做网站美工的理由nas ddnsto wordpress
  • 成都市住房与城乡建设厅网站2345网址大全手机
  • 网站开发工具概述与比较wordpress登录搜索
  • 深圳市住房建设与保障局官方网站php 视频播放网站开发
  • 网站怎么快速做排名如何做电商步骤
  • 2手房产App网站开发盐城外贸网站建设
  • 中国建设银行征信网站html官方网站
  • 网站的稳定性电商网站建设技术交流问题
  • 佛山手机网站建设公司网站添加什么东西才能和用户体验
  • 简洁网站倒计时代码郴州市地图