# |
제출 시각 |
아이디 |
문제 |
언어 |
결과 |
실행 시간 |
메모리 |
282204 |
2020-08-24T06:40:18 Z |
반딧불(#5757) |
기억 압축 (JOI15_memory) |
C++17 |
|
3031 ms |
283948 KB |
#include <bits/stdc++.h>
#include "Memory_lib.h"
#define ensure(x) if(!(x)) return -2;
int Memory(int n, int k){
bool bit = k&1;
int location = (k>>1)&127;
int turn = (k>>8)&127;
int stackSize = (k>>15)&127;
location++;
if(turn==0) turn++;
ensure(1 <= location && location <= n && 1 <= turn && turn <= n && 0 <= stackSize && stackSize <= n/2);
char tmp = Get(location);
if(tmp == '>' || tmp == ']'){
if(stackSize == 0) return -2;
if(turn == stackSize){
if(bit == 1 && tmp == '>') return -2;
if(bit == 0 && tmp == ']') return -2;
bit = 0;
}
stackSize--;
}
else{
stackSize++;
if(stackSize*2 > n) return -2;
if(stackSize == turn){
bit = (tmp == '<' ? 0 : 1);
}
}
if(location == n){
if(stackSize) return -2;
location = 0, turn++;
}
if(turn == n+1) return -1;
k = bit;
k += (location<<1) + (turn<<8) + (stackSize << 15);
return k;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2934 ms |
283844 KB |
Output is correct |
2 |
Correct |
2878 ms |
283896 KB |
Output is correct |
3 |
Correct |
2899 ms |
283948 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2934 ms |
283844 KB |
Output is correct |
2 |
Correct |
2878 ms |
283896 KB |
Output is correct |
3 |
Correct |
2899 ms |
283948 KB |
Output is correct |
4 |
Correct |
2891 ms |
283616 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2934 ms |
283844 KB |
Output is correct |
2 |
Correct |
2878 ms |
283896 KB |
Output is correct |
3 |
Correct |
2899 ms |
283948 KB |
Output is correct |
4 |
Correct |
2891 ms |
283616 KB |
Output is correct |
5 |
Correct |
2946 ms |
283656 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2934 ms |
283844 KB |
Output is correct |
2 |
Correct |
2878 ms |
283896 KB |
Output is correct |
3 |
Correct |
2899 ms |
283948 KB |
Output is correct |
4 |
Correct |
2891 ms |
283616 KB |
Output is correct |
5 |
Correct |
2946 ms |
283656 KB |
Output is correct |
6 |
Correct |
2909 ms |
283768 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2926 ms |
283768 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
2934 ms |
283844 KB |
Output is correct |
2 |
Correct |
2878 ms |
283896 KB |
Output is correct |
3 |
Correct |
2899 ms |
283948 KB |
Output is correct |
4 |
Correct |
2891 ms |
283616 KB |
Output is correct |
5 |
Correct |
2946 ms |
283656 KB |
Output is correct |
6 |
Correct |
2909 ms |
283768 KB |
Output is correct |
7 |
Correct |
2926 ms |
283768 KB |
Output is correct |
8 |
Correct |
2975 ms |
283692 KB |
Output is correct |
9 |
Correct |
3031 ms |
283628 KB |
Output is correct |