poirin   6년 전

비주얼 스튜디오에서 컴파일할때 3000000 이상 숫자 입력하면 10초가 넘게걸리는데 여기선 28ms라고 뜨고 통과가되네요

왜이런지 잘 모르겠습니다;

sphist94   5년 전

원인은 vector<bool> 때문인데 저도 이것 때문에 헤매다가 그냥 자료형을 bool 배열로 설정하니 빠르게 되네요.

이게 정확한지는 모르겠지만 

http://soen.kr/lecture/ccpp/cp...

이 링크에 보시면 vector<bool>은 사용을 자제하는걸 권하고 있네요.(저도 이유는 아직 잘 모르겠습니다.)

sphist94   5년 전

이게 맞는지는 모르겠지만, 위의 설명에 따르면

일반적인 bool 은 1바이트의 용량을 차지하지만, vector<bool>은 1비트만 쓰게끔 최적화되어 있는데,

컴파일러마다 지원 범위가 달라서 이런 오류가 발생한 것 같습니다.

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