题目名称 516. 求和
输入输出 suma.in/out
难度等级 ★★★
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 10
题目来源 Gravatarcqw 于2010-11-19加入
开放分组 全部用户
提交状态
分类标签
递推 随机化 平衡树
分享题解
通过:70, 提交:170, 通过率:41.18%
Gravatar胡嘉兴 100 0.222 s 1.26 MiB C++
Gravatar胡嘉兴 100 0.225 s 1.23 MiB C++
Gravatar胡嘉兴 100 0.232 s 1.07 MiB C++
GravatarOstmbh 100 0.264 s 2.22 MiB C++
Gravatar@@@ 100 0.269 s 0.31 MiB C++
Gravatarvampire 100 0.281 s 0.62 MiB C++
Gravatarサイタマ 100 0.285 s 0.30 MiB C++
GravatarTA 100 0.291 s 1.27 MiB C++
GravatarRivendell 100 0.306 s 0.70 MiB C++
Gravatarfather 100 0.307 s 0.34 MiB C++
本题关联比赛
20101119
关于 求和 的近10条评论(全部评论)
1a辣
GravatarCSU_Turkey
2017-12-18 22:04 8楼
二分
Gravatarサイタマ
2017-10-31 10:03 7楼
GravatarAntiLeaf
2017-05-25 16:07 6楼
pbds大法好
GravatarFoolMike
2016-08-30 17:17 5楼
k和p读反了调了好久。。
Gravatar_Itachi
2016-08-08 17:37 4楼
treap1A
Gravatarliu_runda
2016-04-22 10:48 3楼
平衡树做法:先求得前缀和,再取余,之后从前往后加入平衡树。对于每个j,找到i使得 s[j]-s[i-1] 或(s[i]-s[j-1])%P 大于K,且最小。
复杂度:O(nlogn)
滚学校去了,相当苦逼没时间写代码了 :(
GravatarChenyao2333
2013-11-17 16:07 2楼
K P ai数据与实际范围不符,请修改题目描述 @cstdio
GravatarChenyao2333
2013-11-17 15:47 1楼

516. 求和

★★★   输入文件:suma.in   输出文件:suma.out   简单对比
时间限制:1 s   内存限制:128 MiB

【问题描述】

给出一个数列A1,A2….,An和K,P。
Sij=Ai+Ai+1++Aj
Anaswer=min{Si,j mod P | si,j mod P≥K),其中i≤j,(si,j mod P | si,j mod P≥K}非空。

【输入格式】
第一行一个正整数n,K,P。
第二行n个整数,表示一个数列A1,A2,…,An

【输出格式】
在第一行输出Answer。

【输入样例】
7 2 17
12
13
15
11
16
26
11

【输出样例】

2

【数据范围】
在100%的数据中,1<n<100000,1<K,P,ai<108,i=1,2…n