让别人做网站的步骤,温州网站设计服务商,网页设计100个方法,wordpress搭建官网题目描述
给定一个序列 a1,…,ana1,…,an #xff0c;小爱可以修改这个序列#xff0c;每步修改只能修改一个数字#xff0c;且只能将这个数字增加一个单位或减少一个单位。
请问#xff0c;最少需要几步修改#xff0c;才能将序列调整成一个步步高序列。所谓步步高…题目描述
给定一个序列 a1,…,ana1,…,an 小爱可以修改这个序列每步修改只能修改一个数字且只能将这个数字增加一个单位或减少一个单位。
请问最少需要几步修改才能将序列调整成一个步步高序列。所谓步步高序列就是指每一个数字恰好比前一个数大 11。
输入格式
第一行单个整数 nn表示数列长度第二行nn 个整数表示 a1,…,ana1,…,an。
输出格式
单个整数表示最小的修改步数。
数据范围
对于 30%30% 的数据1≤n≤201≤n≤201≤ai≤201≤ai≤20对于 60%60% 的数据1≤n≤50001≤n≤50001≤ai≤50001≤ai≤5000对于 100%100% 的数据1≤n≤5000001≤n≤500000−109≤ai≤109−109≤ai≤109
样例数据
输入:
5 2 3 3 3 3
输出:
5
说明:
改成1 2 3 4 5
输入:
5 -3 3 0 2 4
输出:
7
说明:
改成-1 0 1 2 3
详见代码
#include bits/stdc.h
using namespace std;
int a[500005];
int main()
{int n;long long ans 0;cin n;for (int i 1; i n; i) {scanf(%d, a[i]);a[i] - i;}sort(a 1, a n 1);for (int i 1; i n; i) {ans abs(a[i] - a[(n 1) / 2]);}cout ans endl;return 0;
}