A. Desorting题意给一个数列,每次操作可以把前一部分每个数加1,后一部分每个数减1,问至少操作多少次可以让数列非递增
思路先遍历每一个数,如果有逆序的直接输出0
否则找到相邻元素最小的差值,最少的操作次数就是让这个最小的差值的两个元素变成逆序,除以2加1即可
代码#include <bits/stdc++.h>using namespace std;int main(){ int t; cin >> t; while (t -- ) { int n; cin >> n; vector<int> a(n); for (int i = 0; i < n; i ++ ) cin >> a[i]; int l, r, minn = 0x3f3f3f3f; bool flag = true; for (int i = 1; i < n; i ++ ) { ...