데이터가 올바르지 않은 것 같습니다.
if (scanf("%d%d%d%d", &x, &y, &p, &n) != 4) for (;;);
이 구문을 추가하니 TLE가 나옵니다.
혹시나해서 %lld 로도 해봤지만 역시나 TLE네요...
더불어 문제에 오타가 몇개 있습니다.
1)변수 x의 p번째 bit부터 p+n 번째 bit --> (변수 x의 p번째 bit부터 p+n-1 번째 bit) 또는 (변수 x의 p+1번째 bit부터 p+n 번째 bit) 둘 중 출제자의 의도에 맞는 것으로...
2) 예제에 있는 그림에서 y가 2라 되있는데 실제로는 1일거같네요...
안녕하세요 조교 이태민 입니다.
/myungwoo : 테스트 파일 생성 프로그램에 문제가 있었습니다. 재 컴파일 시 문제 없을 것입니다.
/pichuila : 의견 반영하여 수정하겠습니다. 감사합니다.