#1345. [CZOJ 一周一测 R22 B] 等差数列模板

[CZOJ 一周一测 R22 B] 等差数列模板

题目描述

给定一个长度为 nn 的数列 aa,问是否能通过修改数列中不超过一个位置的数,使得数列变为等差数列。

输入格式

第一行一个正整数 nn,表示数列长度。

第二行 nn 个正整数表示数列。

输出格式

一行一个字符串,若存在一个方案使得修改不超过一个位置的数字后使得数列变为等差数列,则输出 YES,否则输出 NO。

4
500 800 1100 1400
YES

不需要修改,原数列就是等差数列。

4
500 800 1100 1500
YES

将最后一个数修改成 14001400 即可。

7
500 800 1100 1500 2000 2200 2500
NO

数据范围

本题采用捆绑测试。

对于所有的数据,保证 1≤n≤1051\le n\le 10^5,0≤ai≤1090\le a_i\le 10^9。

子任务 1(33 分):n=1n=1;

子任务 2(55 分):n=2n=2;

子任务 3(88 分):n=3n=3;

子任务 4(1717 分):n≤10n\le 10,ai≤10a_i\le 10;

子任务 5(2727 分):n≤1000n\le 1000;

子任务 6(4040 分):无特殊限制。