G - Who's in the Middle
题目连接 http://acm.hust.edu.cn/vjudge/contest/121192#proble
给出了奇数个数求中位数,直接排序,然后输出。这里比较坑的是 sort[a,n), sort 的排序范围是左闭右开的,
如果数组第一个是从a[0]开始,长度为n就没有问题,但我又喜欢数组从a[1]开始,所以就少排了最后一个数。
也是沉痛的教训,运用这些函数时一定要先理解透彻。
#include<iostream> #include<algorithm> using namespace std; int main() { int n,i; int m[10010]; while(cin>>n) { for( i=1;i<=n;i++) cin>>m[i]; sort(m,m+n+1); //特别注意sort的取值范围 cout<<m[n/2+1]<<endl; } }