temp   1년 전

소스는 올리면 안될것 같기에 제 풀이의 시간복잡도로 말씀드리겠습니다.

먼저 당연히 테스트케이스 입력을 위해 T*n이 있겠죠? 근데 n은 쌍으로 입력을 받기때문에 2n이 되겠죠?

총 테스트케이스가 몇개인지는 문제에 나와있지 않아서 모르겠네요.

암튼 현재까지는 T*200000이 최대 경우의 수겠죠?

그리고 제 풀이에서는 n번의 포문이 돕니다. 정확히는 n-1번이 돌아요.

그안에는 max라는 stl함수가 2번 호출이 되요. 그 외는 문제 유형답게 단순 연산이 조금 들어갑니다.

그럼 저의 생각으로는 함수가 재귀를 쓰는것도 아닌 단순 연산이기 때문에

T*(200000+100000) 정도가 될거같은데 이마저도 TL이 나오는데 이보다 더 빠른 알고리즘이 있을까요?

scanf를 사용하여 정답이 가까스로나왔습니다. 이거보다 더 빠른 방법을 생각하신 많은 분들을 존경합니다...

그리고

cb5f498da8eb4752af84e857d2fe3d5a.png

https://icpcarchive.ecs.baylor.edu/index.php?optio...

위사이트의 같은 문제에서는 cin으로 하여도 정답이 나오긴하였습니다.

백준님의 테스트케이스는 어마어마 한가봅니다... 저번에 정올 문제도 정올사이트에서는 정답인데 여기서는 오답이 나온적이 있네요...

혹시 입력을 cin으로 받으셨다면 입력되는 값이 많기 때문에 여기서 시간초과가 날 수도 있어요

입력이 cin이라면 scanf로 한번 바꿔보세요

joonas   1년 전

std::cout.sync_with_stdio(false); 를 사용하라는 말도 있는 데, 저는 효과를 본 적이 없는 것 같네요.

오히려 출력 초과가 나왔던 거 같은데, C++ 중에 이거 사용하시는 분 계신가요?

appa   1년 전

sync with studio 비추... 그냥 안전하게 scanf / printf 쓰는 게 좋아요...

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