Ignatius and the Princess IV
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32767 K (Java/Others)Total Submission(s): 33744 Accepted Submission(s): 14604
"I will tell you an odd number N, and then N integers. There will be a special integer among them, you have to tell me which integer is the special one after I tell you all the integers." feng5166 says.
"But what is the characteristic of the special integer?" Ignatius asks.
"The integer will appear at least (N+1)/2 times. If you can't find the right integer, I will kill the Princess, and you will be my dinner, too. Hahahaha....." feng5166 says.
Can you find the special integer for Ignatius?
題解:對數列排序,如果n爲奇數,那麼特殊的那個數必過中間那個位置;如果n爲偶數,由於只有一個特殊的數,所以必過中間的那兩個位置。
即 i 從0開始特殊的數必過i=n/2位置。
代碼如下:
#include<cstdio>
#include<algorithm>
using namespace std;
int a[1000005];
int main()
{
int n;
while(~scanf("%d",&n)){
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
sort(a,a+n);
printf("%d\n",a[n/2]);
}
return 0;
}