cout, cin, endl 쓰실때는 반드시
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
를 써주세요.
아니면 scanf나 printf쓰는것을 추천해 드립니다.
그리고 endl도 쓰면 안되요~ (네버네버...)
저게 한번 호출될때마다 출력버퍼를 밀어버린다고(초기화) 들었어요.
이거때문에 endl쓰면 반복문 진짜 조금만 돌려도 시간초과 납니다.
그리고 출력과정을 모니터에 보이는 과정이라고 생각하고 쓰신거면 그것 때문에 오래걸리는게 아니에요. (그렇게 생각하신게 아니라면 그냥 이 글은 무시해주세요 ㅎ )
채점은 출력버퍼(stdout)에 있는걸 그냥 직접 확인하기 때문에
터미널 창에 보이는게 늦게 올라오는 건 출력버퍼에 있는 걸 화면에 보여주는데 시간이 좀 걸리는 것 때문이죠.. (즉, 답은 이미 출력버퍼에 써져있다는 거) 그러니 시간 초과랑은 관련이 없어요.
leehanjun 7년 전
과정 출력 때문에 프로그램 속도가 느려집니다.
어떻게 하면 될까요?