AT_agc030_b.[AGC030B] Tree Burning

省选/NOI-

通过率:0%

AC君温馨提醒

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

题目描述

高桥湖的周长为 LL。在高桥湖的周围有高桥君的家,作为湖的所有者。湖周上的每一个点都可以用从高桥君家出发,沿逆时针方向测量的距离来确定其坐标,坐标为 00 以上且小于 LL 的实数。

湖的周围长有 NN 棵树。第 ii 棵树长在坐标 XiX_i 处。高桥君家的坐标 00 处没有树。

高桥君从自己的家出发,重复以下行为:

  • 如果所有的树都已经被烧掉,则结束。
  • 指定顺时针或逆时针的方向。
  • 沿指定方向在湖的周围行走,直到第一次到达尚未烧掉的树所在的坐标为止。
  • 到达有树的坐标后,将该树烧掉并停留在原地,然后回到最初的步骤。

请你求出,在这一系列行为中,高桥君所行走的距离总和的最大值。

输入格式

输入通过标准输入按以下格式给出。

LL NN X1X_1 :: XNX_N

输出格式

请输出高桥君所行走的距离总和的最大值。

输入输出样例

  • 输入#1

    10 3
    2
    7
    9

    输出#1

    15
  • 输入#2

    10 6
    1
    2
    3
    6
    7
    9

    输出#2

    27
  • 输入#3

    314159265 7
    21662711
    77271666
    89022761
    156626166
    160332356
    166902656
    298992265

    输出#3

    1204124749

说明/提示

限制条件

  • 2≤L≤1092 \leq L \leq 10^9
  • 1≤N≤2×1051 \leq N \leq 2 \times 10^5
  • 1≤X1<⋯<XN≤L−11 \leq X_1 < \cdots < X_N \leq L-1
  • 输入均为整数

部分得分

本题设有部分得分。

  • 对于 N≤2000N \leq 2000 的输入,答对可得 300300 分。

样例说明 1

按照如下方式行动,高桥君总共行走了 1515 的距离。

  • 逆时针行走 22 的距离,到达坐标 22,烧掉该树并停下。
  • 逆时针行走 55 的距离,到达坐标 77,烧掉该树并停下。
  • 顺时针行走 88 的距离,到达坐标 99,烧掉该树并停下。

由 ChatGPT 4.1 翻译

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

首页