Submission #73518

#TimeUsernameProblemLanguageResultExecution timeMemory
73518ics0503기억 압축 (JOI15_memory)C++17
100 / 100
3224 ms276952 KiB
#include "Memory_lib.h" #include<stdio.h> int Memory(int N, int M) { if (M > 3000000) return -2; if (M < 10000) { int now = M / 100 + 1; int dep = M % 100; if (now > N)return -2; char want = Get(now); dep += (want == '[' || want == '<') * 2 - 1; if (dep < 0 || (now == N && dep != 0))return -2; if (now == N) return 10000; return now * 100 + dep; } if (M < 20000) { int m = M - 10000; int now = M-10000 + 1; if (now > N)return -2; char want = Get(now); if (want == '[' || want == '<') { return 20000 + (want == '[')*1000000+(now*10000)+(now*100)+1;//go check } if (now == N)return -1; return 10000 + now; } int m = M - 20000; int ck = m / 1000000; int nxt = m / 10000 % 100; int now = m / 100 % 100; int dep = m % 100; if (now + 1 > N)return -2; char get = Get(now + 1); if (get == '[' || get == '<') { dep++; return 20000 + ck * 1000000 + nxt * 10000 + (now + 1) * 100 + dep; } dep--; if (dep == 0) { if (!ck) { if (get == ']')return -2; return 10000 + nxt; } else{ if (get == '>')return -2; return 10000 + nxt; } } return 20000 + ck * 1000000 + nxt * 10000 + (now + 1) * 100 + dep; }

Compilation message (stderr)

memory.cpp: In function 'int Memory(int, int)':
memory.cpp:18:7: warning: unused variable 'm' [-Wunused-variable]
   int m = M - 10000;
       ^
#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...