题解 P1407 【工资】
楼下的题解好像有点奇怪啊。
核心思路:边输入边计算,先输入一串,然后快排。因为众数超过一半,排序完后一样的数又堆在一起,所以中间的数一定是众数!
-#include <iostream>-
-#include <algorithm>-
-using namespace std;-
-int n,m,a[1000001]={0};-
-int main()-
-{-
- cin>>m;-
- for(int i=1;i<=m;i++)-
- {-
- cin>>n;-
- for(int j=1;j<=n;j++)cin>>a[j];-
- sort(a+1,a+n+1);-
- cout<<a[(n+1)/2]<<endl;-
- }-
- return 0;-
-}-