6. 有趣的跳跃
题目ID:9551必做题100分
最新提交:
Wrong Answer
70 分
历史最高:
Wrong Answer
70 分
时间限制: 100ms
空间限制: 131072kB
题目描述
题目描述:
在一个长度为n的数字序列中,如果相邻元素差的绝对值经过升序排序后正好是1~n-1,则认定该序列存在“有趣的跳跃”。例如:数字序列1、4、2、3的相邻数字差的绝对值分别为3、2、1,排序后是1、2、3,说明该序列存在着“有趣的跳跃”。现在给你一个序列,请你判断该序列是否存在“有趣的跳跃”。
输入格式:
第1行为一个整数n(不超过100000)。
接下来一行为n个不超过100000的整数。
输出格式:
若存在,输出“yes”,否则输出“no”。
样例输入 :
4 1 4 2 3
样例输出 :
yes
约定:
1<=n<=100000
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin >> n;
int x[n],y[n];
for(int i=0;i<n;i++){
cin >> x[n];
}
for(int i=0;i<n;i++){
y[n]=abs(x[n]-x[n+1]);
}
int sz=sizeof(y)/sizeof(y[0]);
stable_sort(y,y+sz);
for(int i=1;i<n;i++){
if(y[i-1]==i){
continue;
}
else{
cout << "no" << endl;
return 0;
}
}
cout << "yes" << endl;
return 0;
}
TEST 8,9,10没过!求救!