AT_arc184_c.[ARC184C] Mountain and Valley Folds

NOI/NOI+/CTSC

通过率:0%

AC君温馨提醒

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

题目描述

我们有一张细长的纸张,其厚度可忽略不计。进行以下操作 100100 次:提起右端,以中心为折痕将其对折至左端对齐。完成 100100 次折叠后,将纸张重新展开至原始状态。此时纸面上共有 2100−12^{100} - 1 条折痕,这些折痕可分为两类:山折和谷折。下图展示了进行两次操作后的状态,其中红色实线代表山折,红色虚线代表谷折。

关于山折与谷折的定义:

  • 若折痕处纸张背面相对折叠,则为山折。
  • 若折痕处纸张正面相对折叠,则为谷折。

折叠示意图

给定一个由NN个非负整数构成的序列 A=(A1,A2,…,AN)A = (A_1, A_2, \dots, A_N),其中满足 0=A1<A2<⋯<AN≤10180 = A_1 < A_2 < \dots < A_N \leq 10^{18}。

对于从 11 到 2100−AN−12^{100} - A_N - 1 的每个整数 ii,定义函数 f(i)f(i) 如下:

  • 满足从左数第 (i+Ak)(i + A_k) 条折痕为山折的 k=1,2,…,Nk = 1, 2, \dots, N 的个数。

求 f(1),f(2),…,f(2100−AN−1)f(1), f(2), \dots, f(2^{100} - A_N - 1) 中的最大值。

输入格式

输入通过标准输入给出,格式如下:

NN

A1A_1 A2A_2 ⋯\cdots ANA_N

输出格式

一行输出答案至标准输出。

输入输出样例

  • 输入#1

    4
    0 1 2 3

    输出#1

    3
  • 输入#2

    6
    0 2 3 5 7 8

    输出#2

    4

说明/提示

约束

  • 1≤N≤1031 \leq N \leq 10^3
  • 0=A1<A2<⋯<AN≤10180 = A_1 \lt A_2 \lt \dots \lt A_N \leq 10^{18}

样例解释 1

若以 M 和 V 分别表示山折与谷折,存在形如 MMVM 的连续折痕子序列。由于不存在类似 MMMM 的连续子序列,故答案为 33。

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

首页