Skip to content

Commit 279d09e

Browse files
committedJan 3, 2019
AC
1 parent b475d31 commit 279d09e

File tree

1 file changed

+32
-0
lines changed

1 file changed

+32
-0
lines changed
 
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
#include <cstdio>
2+
#include <map>
3+
using namespace std;
4+
int main(){
5+
int M, N;
6+
map<int, bool> mp;
7+
int data[10005] = {0};
8+
scanf("%d %d", &M, &N);
9+
for(int i = 0; i < N; ++i){
10+
scanf("%d", &data[i]);
11+
mp[data[i]] = true;
12+
}
13+
int u, v, a;
14+
for(int i = 0; i < M; ++i){
15+
scanf("%d %d", &u, &v);
16+
17+
for(int j = 0; j < N; ++j){
18+
a = data[j];
19+
if((a >= u && a <= v) || (a <= u && a >= v))
20+
break;
21+
}
22+
if(mp[u] == 0 && mp[v] == 0)
23+
printf("ERROR: %d and %d are not found.\n", u, v);
24+
else if(mp[u] == false || mp[v] == false)
25+
printf("ERROR: %d is not found.\n", mp[u] == false ? u : v);
26+
else if(a == u || a == v)
27+
printf("%d is an ancestor of %d.\n", a, a == u ? v : u);
28+
else
29+
printf("LCA of %d and %d is %d.\n", u, v, a);
30+
}
31+
return 0;
32+
}

0 commit comments

Comments
 (0)
Please sign in to comment.