This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include"Memory_lib.h"
int Memory(int N, int M){
int roopCount = M >> 15;
int now = (M >> 8) % (1 << 7);
int length = (M >> 1) % (1 << 7);
int stack = M % (1 << 1);
if(now > N) return -2;
if(now == N){
if(length != 0) return -2;
roopCount++;
now = 0;
return roopCount << 15;
}
if(roopCount > N) return -2;
if(roopCount == N) return -1;
char c = Get(now);
if(c == '<'){
if(length == roopCount) stack = 0;
length++;
}
if(c == '['){
if(length == roopCount) stack = 1;
length++;
}
if(c == '>'){
length--;
if(length == roopCount && stack != 0) return -2;
}
if(c == '>'){
length--;
if(length == roopCount && stack != 1) return -2;
}
now++;
return (roopCount<<15) + (now<<8) + (length<<1) + stack;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |