很容易发现后面的数组尽量不要动,所以从后考虑贪心,对于每一个i,贪心到小于a[i+1]即可整体复杂度o(n)
#include <bits/stdc++.h>
using namespace std;
小红拿到了一个数组,他每次操作可以选择任意一个元素x使其变成x(向下取整)。
小红想知道,使得该数组变成非降序,需要至少操作多少次?
第一行输入一个正整数n,代表数组的元素数量。
第二行输入n个正整数ai,代表数组的元素。
1≤n≤105
1≤ai≤109
一个整数,代表最少的操作次数。
输入
3
2 6 3
输出
1
说明
对第二个数操作1次即可,数组变成[2,2,3]。