# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
290815 | 2020-09-04T13:17:11 Z | gs14004 | CATS (NOI14_cats) | C++17 | 1500 ms | 40056 KB |
#include <cstdio> #include <cstring> using lint = long long; struct cat_stack{ int stack[5000005], sz; int top(){ if(sz == 0) return 0; return stack[sz-1]; } void pop(){ if(sz != 0) sz--; } void push(int x){ stack[sz++] = x; } }s1; int main(){ int q; scanf("%d",&q); while (q--) { lint x, l, n; scanf("%lld %lld %lld",&x,&l,&n); x--; if(l / (2 * n + 1) <= 61){ lint Q = l / (2 * n) + 1; x %= (1ll << (Q + 1)); } int s2 = 0; s1.sz = 0; int g = 0; while (x>=0) { s2 = s1.top() ^ g; s1.pop(); g ^= 1; if(s2 > l){ x--; // printf("%d,", s2); if(x < 0){ printf("%d\n",s2); break; } } else{ s2 += 2*n; s1.push(s2^g); s1.push(s2^g); } } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 1 ms | 256 KB | Output is correct |
4 | Correct | 0 ms | 256 KB | Output is correct |
5 | Correct | 0 ms | 256 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 174 ms | 256 KB | Output is correct |
2 | Correct | 1 ms | 256 KB | Output is correct |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Execution timed out | 1584 ms | 1272 KB | Time limit exceeded |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 57 ms | 40056 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 60 ms | 40056 KB | Execution killed with signal 11 |
2 | Halted | 0 ms | 0 KB | - |