题目描述
在数列 a1?,a2?,?,an?中,定义两个元素 ai? 和 aj? 的距离为∣i?j∣+∣ai??aj?∣,即元素下标的距离加上元素值的差的绝对值,其中 ∣x∣ 表示 x 的绝对值。
给定一个数列,请问找出元素之间最大的元素距离。
输入描述
输入的第一行包含一个整数 n。
第二行包含 n 个整数 a1?,a2?,?,an?,相邻的整数间用空格分隔,表示给定的数列。
其中,数列中的数 2≤n≤1000,0≤数列中的数≤10^4。
输出描述
输出一行包含一个整数,表示答案。
输入输出样例
示例
输入
5
9 4 2 4 7
输出
9
运行限制
- 最大运行时间:1s
- 最大运行内存: 256M
#include
#include
#include
#include using namespace std;
const int N = 1010;
int num[N];
int main()
{
int n , Max = 0;
cin >> n;
for(int i = 0 ;
i < n ;
i ++)
cin >> num[i];
for(int i = 0 ;
i < n ;
i ++)
for(int j = 0 ;
j < n ;
j ++){
Max = max(Max , abs(num[j] - num[i]) + j - i);
}
cout << Max << endl;
return 0;
}
【算法|蓝桥云课 最大距离】
推荐阅读
- 算法|Acwing1210. 连号区间数
- 算法|Acwing3173. 缩位求和
- Linux|ROS通信——C++实现
- 蓝桥杯|蓝桥杯C/C++A组省赛历年真题题解(2013~2021)
- 蓝桥杯|蓝桥杯--鲁卡斯队列
- 蓝桥杯|蓝桥杯--凯撒加密
- 蓝桥杯|蓝桥杯--六角填数
- 算法|LeetCode Golang Hot53-最大子数组和
- 蓝桥杯省赛|2014年第五届蓝桥杯C/C++程序设计本科B组省赛 7六角填数