50042. Highest Mountain
難度:2.5/5 Used Time: 7:05
宣告陣列會造成MLE。1
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
35
36
37
38
39
40#include <stdio.h>
#include <stdlib.h>
#define swap(x, y) {int t = x; x = y; y = t;}
int main(){
int n, m; scanf("%d %d", &n, &m);
int all_max = -1, all_max_x, all_max_y;
for(int j = 0; j < n; j++){
int max_1_num, max_1_idx = 0;
int max_2_num, max_2_idx = 1;
scanf("%d %d", &max_1_num, &max_2_num);
if(max_2_num >= max_1_num){
swap(max_1_num, max_2_num);
swap(max_1_idx, max_2_idx);
}
for(int i = 2; i < m; i++){
int now_num; scanf("%d", &now_num);
if(now_num >= max_1_num){
max_2_num = max_1_num; max_2_idx = max_1_idx;
max_1_num = now_num; max_1_idx = i;
}
else if(now_num >= max_2_num){
max_2_num = now_num; max_2_idx = i;
}
}
if(max_1_num >= all_max){
all_max_x = j;
all_max_y = max_1_idx;
all_max = max_1_num;
}
printf("%d %d\n", max_1_idx + 1, max_2_idx + 1);
}
printf("%d %d\n", all_max_x + 1, all_max_y + 1);
}