CF776C.Molly's Chemicals

普及+/提高

通过率:0%

时间限制:2.50s

内存限制:512MB

AC君温馨提醒

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

题目描述

Molly Hooper has n different kinds of chemicals arranged in a line. Each of the chemicals has an affection value, The i-th of them has affection value a__i.

Molly wants Sherlock to fall in love with her. She intends to do this by mixing a contiguous segment of chemicals together to make a love potion with total affection value as a non-negative integer power of k. Total affection value of a continuous segment of chemicals is the sum of affection values of each chemical in that segment.

Help her to do so in finding the total number of such segments.

莫莉·胡珀将 nn 种不同的化学药品排成一行。每种化学药品都有一个“好感值”,其中第 ii 种药品的好感值为 aia_i。

莫莉希望夏洛克爱上她。她计划通过混合一段连续的化学药品来配制一种“爱情魔药”,使得该魔药的总好感值恰好为 kk 的某个非负整数次幂(即形如 kpk^p,其中 pp 为非负整数)。一段连续化学药品段的总好感值,等于该段中所有化学药品好感值之和。

请帮她计算:满足上述条件的连续子段共有多少个?

输入格式

The first line of input contains two integers, n and k, the number of chemicals and the number, such that the total affection value is a non-negative power of this number k. (1 ≤ n ≤ 105, 1 ≤ |k| ≤ 10).

Next line contains n integers _a_1, _a_2, ..., a__n ( - 109 ≤ a__i ≤ 109) — affection values of chemicals.

输入的第一行包含两个整数 nn 和 kk,分别表示化学药品的数量,以及使得总好感值为该数 kk 的一个非负整数次幂的数。(1≤n≤1051 \leq n \leq 10^5,1≤∣k∣≤101 \leq |k| \leq 10)

第二行包含 nn 个整数 a1, a2, …, ana_1,\,a_2,\,\dots,\,a_n(−109≤ai≤109-10^9 \leq a_i \leq 10^9)—— 各化学药品的好感值。

输出格式

Output a single integer — the number of valid segments.

输出一个整数——有效区间的数量。

输入输出样例

  • 输入#1

    4 2
    2 2 2 2

    输出#1

    8
  • 输入#2

    4 -3
    3 -6 -3 12

    输出#2

    3

说明/提示

Do keep in mind that _k_0 = 1.

In the first sample, Molly can get following different affection values:

  • 2: segments [1, 1], [2, 2], [3, 3], [4, 4];

  • 4: segments [1, 2], [2, 3], [3, 4];

  • 6: segments [1, 3], [2, 4];

  • 8: segments [1, 4].

Out of these, 2, 4 and 8 are powers of k = 2. Therefore, the answer is 8.

In the second sample, Molly can choose segments [1, 2], [3, 3], [3, 4].

请注意,k0=1k_0 = 1。

在第一个样例中,Molly 可以得到以下不同的好感值:

  • 22:子段 [1, 1][1, 1]、[2, 2][2, 2]、[3, 3][3, 3]、[4, 4][4, 4];

  • 44:子段 [1, 2][1, 2]、[2, 3][2, 3]、[3, 4][3, 4];

  • 66:子段 [1, 3][1, 3]、[2, 4][2, 4];

  • 88:子段 [1, 4][1, 4]。

其中,22、44 和 88 均为 k=2k = 2 的幂。因此,答案为 88。

在第二个样例中,Molly 可以选择子段 [1, 2][1, 2]、[3, 3][3, 3]、[3, 4][3, 4]。

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

首页