CF1197D.Yet Another Subarray Problem

普及+/提高

通过率:0%

时间限制:2.00s

内存限制:256MB

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array a1,a2,…,ana_1, a_2, \dots , a_n and two integers mm and kk.

You can choose some subarray al,al+1,…,ar−1,ara_l, a_{l+1}, \dots, a_{r-1}, a_r.

The cost of subarray al,al+1,…,ar−1,ara_l, a_{l+1}, \dots, a_{r-1}, a_r is equal to ∑i=lrai−k⌈r−l+1m⌉\sum\limits_{i=l}^{r} a_i - k \lceil \frac{r - l + 1}{m} \rceil, where ⌈x⌉\lceil x \rceil is the least integer greater than or equal to xx.

The cost of empty subarray is equal to zero.

For example, if m=3m = 3, k=10k = 10 and a=[2,−4,15,−3,4,8,3]a = [2, -4, 15, -3, 4, 8, 3], then the cost of some subarrays are:

  • a3…a3:15−k⌈13⌉=15−10=5a_3 \dots a_3: 15 - k \lceil \frac{1}{3} \rceil = 15 - 10 = 5;
  • a3…a4:(15−3)−k⌈23⌉=12−10=2a_3 \dots a_4: (15 - 3) - k \lceil \frac{2}{3} \rceil = 12 - 10 = 2;
  • a3…a5:(15−3+4)−k⌈33⌉=16−10=6a_3 \dots a_5: (15 - 3 + 4) - k \lceil \frac{3}{3} \rceil = 16 - 10 = 6;
  • a3…a6:(15−3+4+8)−k⌈43⌉=24−20=4a_3 \dots a_6: (15 - 3 + 4 + 8) - k \lceil \frac{4}{3} \rceil = 24 - 20 = 4;
  • a3…a7:(15−3+4+8+3)−k⌈53⌉=27−20=7a_3 \dots a_7: (15 - 3 + 4 + 8 + 3) - k \lceil \frac{5}{3} \rceil = 27 - 20 = 7.

Your task is to find the maximum cost of some subarray (possibly empty) of array aa.

给你一个数组 a1,a2,…,ana_1, a_2, \dots , a_n 和两个整数 mm 和 kk。

你可以选择某个子数组 al,al+1,…,ar−1,ara_l, a_{l+1}, \dots, a_{r-1}, a_r。

子数组 al,al+1,…,ar−1,ara_l, a_{l+1}, \dots, a_{r-1}, a_r 的代价定义为 ∑i=lrai−k⌈r−l+1m⌉\sum\limits_{i=l}^{r} a_i - k \lceil \frac{r - l + 1}{m} \rceil,其中 ⌈x⌉\lceil x \rceil 表示不小于 xx 的最小整数。

空子数组的代价为 00。

例如,若 m=3m = 3,k=10k = 10,且 a=[2,−4,15,−3,4,8,3]a = [2, -4, 15, -3, 4, 8, 3],则某些子数组的代价如下:

  • a3…a3:15−k⌈13⌉=15−10=5a_3 \dots a_3: 15 - k \lceil \frac{1}{3} \rceil = 15 - 10 = 5;
  • a3…a4:(15−3)−k⌈23⌉=12−10=2a_3 \dots a_4: (15 - 3) - k \lceil \frac{2}{3} \rceil = 12 - 10 = 2;
  • a3…a5:(15−3+4)−k⌈33⌉=16−10=6a_3 \dots a_5: (15 - 3 + 4) - k \lceil \frac{3}{3} \rceil = 16 - 10 = 6;
  • a3…a6:(15−3+4+8)−k⌈43⌉=24−20=4a_3 \dots a_6: (15 - 3 + 4 + 8) - k \lceil \frac{4}{3} \rceil = 24 - 20 = 4;
  • a3…a7:(15−3+4+8+3)−k⌈53⌉=27−20=7a_3 \dots a_7: (15 - 3 + 4 + 8 + 3) - k \lceil \frac{5}{3} \rceil = 27 - 20 = 7。

你的任务是求出数组 aa 的某个子数组(可以为空)的最大代价。

输入格式

The first line contains three integers nn, mm, and kk (1≤n≤3⋅105,1≤m≤10,1≤k≤1091 \le n \le 3 \cdot 10^5, 1 \le m \le 10, 1 \le k \le 10^9).

The second line contains nn integers a1,a2,…,ana_1, a_2, \dots, a_n (−109≤ai≤109-10^9 \le a_i \le 10^9).

第一行包含三个整数 nn、mm 和 kk(1≤n≤3⋅1051 \le n \le 3 \cdot 10^5,1≤m≤101 \le m \le 10,1≤k≤1091 \le k \le 10^9)。

第二行包含 nn 个整数 a1,a2,…,ana_1, a_2, \dots, a_n(−109≤ai≤109-10^9 \le a_i \le 10^9)。

输出格式

Print the maximum cost of some subarray of array aa.

输出数组 aa 的某个子数组的最大代价。

输入输出样例

  • 输入#1

    7 3 10
    2 -4 15 -3 4 8 3

    输出#1

    7
  • 输入#2

    5 2 1000
    -13 -4 -9 -20 -11

    输出#2

    0

输入解题思路,AI测评打分。不知道怎么写?

首页