Submission #728905

#TimeUsernameProblemLanguageResultExecution timeMemory
728905tjd229기억 압축 (JOI15_memory)C++14
100 / 100
2583 ms284172 KiB
#include "Memory_lib.h" int concat(int l, int r, int op, int mode) { return mode + (op << 1) + (r << 8) + (l << 15); } int Memory(int N, int M) { if (N & 1) return -2; int sq6 = 64; int sq7 = 128; int mode = M & 1; M >>= 1; int op = M & (sq7 - 1); M >>= 7; int r = M & (sq7 - 1); // i int l = M >> 7; //j //printf("%d,%d,%d,%d\n",l,r,op,mode); if (r == N) return op ? -2 : -1; if (l >= N) return -2; char c = Get(l + 1); if (l == r) { ++l; if (c == ']' || c == '>') { if (--op < 0) return -2; return concat(l, ++r, op, mode); } else { mode = (c == '[') + 0; op = 1; return concat(l, r, op, mode); } } else { switch (c) { case '<':case '[': ++op; break; case '>': --op; if (op < 0) return -2; if (l > r && op == 0) { if (mode != 0) return -2; return concat(0, ++r, op, 0); } break; case ']': --op; if (op < 0) return -2; if (l > r && op == 0) { if (mode != 1) return -2; return concat(0, ++r, op, 0); } break; } ++l; } //op>50 chk if (op > (N >> 1)) return -2; return concat(l, r, op, mode); }

Compilation message (stderr)

memory.cpp: In function 'int Memory(int, int)':
memory.cpp:10:6: warning: unused variable 'sq6' [-Wunused-variable]
   10 |  int sq6 = 64;
      |      ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...