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; }