/ Vijos / 题库 /

序列变换

序列变换

时间限制:1秒  内存限制:256M


【题目描述】

  给定一个由n个整数 \(x_1, x_2,…x_n\) 组成的序列,其中:\(-1≤x_i≤1\)。可以对序列进行变换操作,每次一操作对于任何 \(1≤i<n\),可以将 \(x_{i+1}\) 改为 \(x_{i+1}+x_i\)。

  要将初始序列转换为非递减的,即 \(x_1≤x_2≤…≤x_n\),变化后还是要保证 \(-1≤x_i≤1\)。那么最少要操作多少次?。

【输入格式】

  第一行包含一个整数 \(n(1≤n≤1000000)\),表示初始序列中的元素个数。
  第二行包含 \(n\) 个整数 \(x_1, x_2,…x_n\),表示初始序列。

【输出格式】

  如果无法转换成非递减序列,则输出单词 Impossible;否则,输出一个整数,表示做少的操作次数。

【输入输出样例】

 Input

6
-1 1 0 -1 0 1

 Output

3

【数据限制】

  对于30% 的数据满足:\(1≤n≤500\)。
  对于60% 的数据满足:\(1≤n≤10000\)。
  对于100% 的数据满足:\(1≤n≤1000000\)。

【来源】

  Mr.he

信息

ID
3169
难度
9
分类
动态规划 点击显示
标签
(无)
递交数
3
已通过
1
通过率
33%
被复制
3
上传者