けんちょんの競プロ精進記録

競プロの精進記録や小ネタを書いていきます

全国統一プログラミング王決定戦 本選 B - Big Integers (200 点)

数式が一見ややこしいけど難しくなくて、k 進法についての理解を問う感じ

問題へのリンク

問題概要

2 つの整数が  K 進法表記で与えられる。どちらの方が大きいかを判定せよ。

  • 1 個めは  N 桁で、最高位から順に  A_1, A_2, \dots, A_N
  • 2 個めは  M 桁で、最高位から順に  B_1, B_2, \dots, B_M

考えたこと

日経コン本選前日の ABC 118 D - Match Matching でやった大小比較とまったく同じ!!!

#include <iostream>
#include <vector>
#include <string>
using namespace std;

int main() {
    int N, M, K; cin >> N >> M >> K;
    vector<int> A(N), B(M);
    for (int i = 0; i < N; ++i) cin >> A[i];
    for (int i = 0; i < M; ++i) cin >> B[i];

    string res;
    if (N < M) res = "X";
    else if (N > M) res = "Y";
    else {
        if (A > B) res = "Y";
        else if (A < B) res = "X";
        else res = "Same";
    }
    cout << res << endl;
}