50147. Circles
難度:2/51
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#define max(a,b) ((a)>(b)?(a):(b))
int n;
uint64_t arr[1000105];
int cmp(const void* a, const void* b){
return *(uint64_t*)a - *(uint64_t*)b;
}
int main(){
scanf("%d", &n);
for(int i = 0; i < n; i++){
uint64_t x, y; scanf("%llu %llu", &x, &y);
arr[i] = x * x + y * y;
}
qsort(arr, n, sizeof(uint64_t), cmp);
int cnt = 1;
int max_cnt = 1;
int max_rad = arr[0];
// for(int i = 0; i < n; i++) printf("%llu ", arr[i]);
for(int i = 1; i < n; i++){
if(arr[i - 1] == arr[i]) cnt++;
else cnt = 1;
if(cnt > max_cnt) max_cnt = cnt, max_rad = arr[i];
else if(cnt == max_cnt) max_rad = arr[i];
}
printf("%d\n", max_rad);
}