오늘 코포 D풀면서 생긴 일.
이제 본인은 코딩 좀 이상하게 배워서 MAX(a,b)를 맨 위에다가 #define MAX(A,B) (((A)>(B))?(A):(B)) 박고 씀.
그리고 D에서 구간 최댓값을 처리하기 위해 세그트리를 짰고, 그 과정에서 MAX( query(~), query(~) )를 사용하게 됨.
근데 저거 때문에 재귀적으로 한번만 호출되야 할 쿼리가 2번씩 호출되버리면서 좀 프로그램이 이상하게 돌아가버리게 되었고, 결국 TLE 때문에 시간도 날리고 거의 3번은 틀림.
다행히 마지막에 운 좋게 발견해서 억까 탈출함.
이제 이런 실수는 안 할수 있으니 다행이라고 생각하자.
아니 멀쩡한 max놔두고왜.. - dc App
이제부터라도 저걸로 갈아타려고 그래서
보통 c++ 책들에서 매크로 쓰지 말라고 가르치면서 예로 드는 전형적인 케이스