chanugod   7년 전

나름 스택으로 한다고 했는데, 잘 안되네요.. 시간초과가 뜹니다.

O(n)으로 할 수 있는 힌트를 부탁합니다.

jumpingz   7년 전

B 배열에 인덱스 정보를 저장하는 용도로 사용하신거 같은디.. 구조체 배열을 이용하여 모든 정보를 한번에 저장하고 

현재 데이터가 스택에 있는 데이터보다 큰 동안 Pop 후 

Top 이 비어있다면 0을 출력 

아니라면 Top 의 index 값을 출력하도록 하시면 아마 TLE 는 없을꺼에요

chanugod   7년 전

이렇게 해봤는데 왜 m이 안받아질까요?? ㅠㅠ

jumpingz   7년 전

입력이 안받아지는 이유는 중간에

while (m>a.top()){
            a.pop();
            index.pop();
        }

이 영역에서 만약 top 이 널이면 비교가 불가능해서 에러가 발생해서 그렇구요.. scanf 에 존재하는 \n 와 공백은 문제가 있는건지는 모르겟네요 

비쥬얼에서 디버깅했을 때는 입력시 문제가 좀 있긴하던데.. 일단 젤 중요한 부분은 저 와일문에 상위에 조건이 하나 더필요하겟네요

댓글을 작성하려면 로그인해야 합니다.