はまやんはまやんはまやん

hamayanhamayan's blog

Big Integers [全国統一プログラミング王決定戦本戦 B]

https://atcoder.jp/contests/nikkei2019-final/tasks/nikkei2019_final_b

解説

https://atcoder.jp/contests/nikkei2019-final/submissions/4312776

与えられた式はよく見てみると、K進数の数になっている。
そのため、K進数で与えられた数の大小を答えよという問題になっている。
 
まず、桁数が違えば、桁が大きいほうが大きい数になる。
次に、桁数が同じであれば、上位の桁から見ていって、数が大きいほうが大きい数になる。
全く同じであればSameである。

int N, M, K, A[101010], B[101010];
//---------------------------------------------------------------------------------------------------
#define X "X"
#define Y "Y"
string solve() {
    if (N < M) return X;
    if (N > M) return Y;
 
    rep(i, 0, N) {
        if (A[i] < B[i]) return X;
        if (A[i] > B[i]) return Y;
    }
 
    return "Same";
}
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> M >> K;
    rep(i, 0, N) cin >> A[i];
    rep(i, 0, M) cin >> B[i];
    cout << solve() << endl;
}