题目链接:http://poj.org/problem?id=2388
题目意思:有一些牛,产了一些奶,找一个中间数,该数钱面的都小,。后面的都大,也即找一个钟位数。
简单快排,但要注意结构体排序的写法!
代码:
#include<cstdio>
#include<algorithm>
using namespace std;
typedef struct Node{
int i;
int num;
}Node;
Node milk[10005];
bool cmp(Node A, Node B)
{
return A.num<B.num;
}
int main(void)
{
int N;
int j;
//freopen("a.txt", "r", stdin);
//freopen("b.txt", "w",stdout);
scanf("%d", &N);
for(j=1; j<=N; ++j)
{
scanf("%d", &milk[j].num);
milk[j].i=j;
}
sort(milk+1, milk+N+1, cmp);
int ans=(N+1)/2;
printf("%d\n", milk[ans].num);
return 0;
}