题目描述
blablabla
样例
blablabla
算法1
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla
算法2
(暴力枚举) $O(n^2)$
blablabla
时间复杂度
参考文献
C++ 代码
blablabla#include <bits/stdc++.h>
using namespace std;
inline int mypow(int n) { return n * n; }
int arr[1005];
int main() {
int n;
cin >> n;
for(int i = 0; i < n; i++) cin >> arr[i];
int tot = 1 << 30;
// 在1到100中,枚举每一对差值刚好为17的数(i, i + 17) 1 <= i <= 83
for(int i = 1; i < 84; i++) {
int tmp = 0, l = i, r = i + 17;
for(int j = 0; j < n; j++) { // 枚举处理每座山峰的情况,让每座山峰都满足差值小于等于17的情况
if(arr[j] < l) tmp += mypow(arr[j] - l);
else if(arr[j] > r) tmp += mypow(arr[j] - r);
}
tot = min(tot, tmp); // 找差值最小的情况
}
cout << tot << endl;
return 0;
}