两两递减数组反制
You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
题目背景
不难
题目描述
给定n个数如果这n个数满足>=,>=,>=.......>=且每个数都大于等于0这样的n个数我们称为两两递减数组,反之如果这n个数满足<=,<=,<=.......<=且每个数都大于等于0我们称为两两递增数组,请问是否存在一个数k,使得两两递减数组中每两个数中如(>=),(>=)符号左边的数减去k,右边的数加上k使得最后这n个数变为两两递增数组(每两个数之间只能进行这样的操作一次且每个数都要被减k或加k),如和进行一次加减k后变为:-k,+k,同理进行一次加减k后变为:-k,+k。如果存在请输出满足条件的最小的k,如果不存在则输出-1。
输入格式
第一行输入一个数n。
第二行输入n个数第i个元素为。
数据保证输入的n个数满足两两递减数组的条件,且n为偶数。
输出格式
输出一行如果存在最小数k则输出k否则输出-1.
样例
样例1
4
6 2 7 4
2
样例2
6
8 2 7 4 2 1
-1
样例3
6
8 2 5 1 3 2
3
限制
对于100%的数据,2<=n<=,0<=k<=,1<=<=。
时限:1s 内存:256mb
2024吉利学院ACM暑假实践周第一次测试
- Status
- Done
- Rule
- XCPC
- Problem
- 13
- Start at
- 2024-7-8 9:00
- End at
- 2024-7-8 14:00
- Duration
- 5 hour(s)
- Host
- Partic.
- 36