답안 #105711

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
105711 2019-04-14T04:19:23 Z Pro_ktmr 기억 압축 (JOI15_memory) C++14
100 / 100
2998 ms 276836 KB
#include"Memory_lib.h"

int Memory(int N, int M){
    int roopCount = (M >> 15) % (1 << 7);
    int now = (M >> 8) % (1 << 7);
    int length = (M >> 1) % (1 << 7);
    int stack = (M >> 0) % (1 << 1);
    if(roopCount >= N || now >= N || length >= N) return 0;

    char c = Get(now+1);
    if(c == '<'){
        if(length == roopCount) stack = 0;
        length++;
    }
    if(c == '['){
        if(length == roopCount) stack = 1;
        length++;
    }
    if(c == '>'){
        if(length == 0) return -2;
        length--;
        if(length == roopCount && stack != 0) return -2;
    }
    if(c == ']'){
        if(length == 0) return -2;
        length--;
        if(length == roopCount && stack != 1) return -2;
    }

    now++;
    if(now == N){
        if(length != 0) return -2;
        roopCount++;
        now = 0;
        length = 0;
        stack = 0;
    }
    if(roopCount == N) return -1;
    return (roopCount<<15) | (now<<8) | (length<<1) | (stack<<0);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2937 ms 276656 KB Output is correct
2 Correct 2998 ms 276744 KB Output is correct
3 Correct 2332 ms 276624 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2937 ms 276656 KB Output is correct
2 Correct 2998 ms 276744 KB Output is correct
3 Correct 2332 ms 276624 KB Output is correct
4 Correct 2447 ms 276636 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2937 ms 276656 KB Output is correct
2 Correct 2998 ms 276744 KB Output is correct
3 Correct 2332 ms 276624 KB Output is correct
4 Correct 2447 ms 276636 KB Output is correct
5 Correct 2710 ms 276584 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2937 ms 276656 KB Output is correct
2 Correct 2998 ms 276744 KB Output is correct
3 Correct 2332 ms 276624 KB Output is correct
4 Correct 2447 ms 276636 KB Output is correct
5 Correct 2710 ms 276584 KB Output is correct
6 Correct 2851 ms 276644 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2807 ms 276804 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2937 ms 276656 KB Output is correct
2 Correct 2998 ms 276744 KB Output is correct
3 Correct 2332 ms 276624 KB Output is correct
4 Correct 2447 ms 276636 KB Output is correct
5 Correct 2710 ms 276584 KB Output is correct
6 Correct 2851 ms 276644 KB Output is correct
7 Correct 2807 ms 276804 KB Output is correct
8 Correct 2772 ms 276836 KB Output is correct
9 Correct 2967 ms 276488 KB Output is correct