# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
56895 |
2018-07-13T05:53:45 Z |
김세빈(#1635) |
None (JOI15_memory) |
C++11 |
|
3628 ms |
276988 KB |
#include "Memory_lib.h"
int Memory(int N, int M)
{
auto make = [&](int s, int p, int d, int x, int y){
return s * 40804 + p * 404 + d * 4 + x * 2 + y;
};
int s, p, d, x, y;
char ch;
s = M / 40804;
p = M / 404 % 101;
d = M / 4 % 101;
x = M / 2 % 2;
y = M % 2;
if(s > N || p > N || d > N) return -2;
if(x){
if(p < N){
if(s <= 0 || p <= 0) return -2;
ch = Get(p);
if(ch == '<' || ch == '['){
if(d == 1){
if(ch == '<' && y) return -2;
else if(ch == '[' && !y) return -2;
else return make(s-1, N, 0, 1, 0);
}
else return make(s, p-1, d-1, 1, y);
}
else{
return make(s, p-1, d+1, 1, y);
}
}
else{
if(s <= 0) return -1;
ch = Get(s);
if(ch == '<' || ch == '[') return make(s-1, N, 0, 1, 0);
else{
if(ch == '>') return make(s, s-1, 1, 1, 0);
else return make(s, s-1, 1, 1, 1);
}
}
}
else{
if(p){
if(s >= N || p >= N) return -2;
ch = Get(p + 1);
if(ch == '>' || ch == ']'){
if(d == 1){
if(ch == '>' && y) return -2;
else if(ch == ']' && !y) return -2;
else return make(s+1, 0, 0, 0, 0);
}
else return make(s, p+1, d-1, 0, y);
}
else{
return make(s, p+1, d+1, 0, y);
}
}
else{
if(s >= N) return make(N, N, 0, 1, 0);
ch = Get(s + 1);
if(ch == '>' || ch == ']') return make(s+1, 0, 0, 0, 0);
else{
if(ch == '<') return make(s, s+1, 1, 0, 0);
else return make(s, s+1, 1, 0, 1);
}
}
}
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2758 ms |
276588 KB |
Output is correct |
2 |
Correct |
3628 ms |
276788 KB |
Output is correct |
3 |
Correct |
2741 ms |
276788 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2758 ms |
276588 KB |
Output is correct |
2 |
Correct |
3628 ms |
276788 KB |
Output is correct |
3 |
Correct |
2741 ms |
276788 KB |
Output is correct |
4 |
Correct |
3450 ms |
276792 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2758 ms |
276588 KB |
Output is correct |
2 |
Correct |
3628 ms |
276788 KB |
Output is correct |
3 |
Correct |
2741 ms |
276788 KB |
Output is correct |
4 |
Correct |
3450 ms |
276792 KB |
Output is correct |
5 |
Correct |
3104 ms |
276820 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2758 ms |
276588 KB |
Output is correct |
2 |
Correct |
3628 ms |
276788 KB |
Output is correct |
3 |
Correct |
2741 ms |
276788 KB |
Output is correct |
4 |
Correct |
3450 ms |
276792 KB |
Output is correct |
5 |
Correct |
3104 ms |
276820 KB |
Output is correct |
6 |
Correct |
2971 ms |
276988 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2952 ms |
276988 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
2758 ms |
276588 KB |
Output is correct |
2 |
Correct |
3628 ms |
276788 KB |
Output is correct |
3 |
Correct |
2741 ms |
276788 KB |
Output is correct |
4 |
Correct |
3450 ms |
276792 KB |
Output is correct |
5 |
Correct |
3104 ms |
276820 KB |
Output is correct |
6 |
Correct |
2971 ms |
276988 KB |
Output is correct |
7 |
Correct |
2952 ms |
276988 KB |
Output is correct |
8 |
Correct |
3218 ms |
276988 KB |
Output is correct |
9 |
Correct |
3237 ms |
276988 KB |
Output is correct |