题解 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;-
-}-