给定一个整数序列,请找出这个整数序列的中间数的值。
第二行包含 n个正整数,依次表示 a 1, a 2, …, an。
2 6 5 6 3 5
3 4 6 7
3 4 6 6 7
对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ ai ≤ 1000。
参考代码:
#include<iostream>
using namespace std;
struct x{
int ax;
int max=0;
int min=0;
};//注意分号
int main(){
int n;
cin>>n;
x *a=new x[n];//动态一位数组声明
for(int i=0;i<n;i++){
cin>>a[i].ax;
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i!=j&&a[i].ax!=a[j].ax){
if(a[i].ax>a[j].ax){
a[i].min++;
a[j].max++;
}
else{
a[i].max++;
a[j].min++;
}
}
}
}
bool find=false;
for(int i=0;i<n;i++){
if(a[i].min==a[i].max){
cout<<a[i].ax;//注意读题!中间数一定只有一个数
find=true;
break;
}
}
if(!find){
cout<<"-1";
}
return 0;
}
提交结果:
代码长度 | 编程语言 | 评测结果 | 得分 | 时间使用 | 空间使用 |
---|
763B | C++ | 正确 | 100 | 15ms | 508.0KB |