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

hamayanhamayan's blog

To Infinity [AtCoder Beginner Contest 106 C]

https://beta.atcoder.jp/contests/abc106/tasks/abc106_c

考察過程

1. 一見難しそうだが、300点問題なのでなるべく簡単に考えるように努める
2. 5000兆日後だと、1以外の文字は10^18個以上に必ずなる
3. なので、普通にすると先頭の文字がK文字目になる
4. そうならないのは、'1'の場合だけ
5. 先頭から見ていって、'1'以外が出てきたら、その文字が答え
6. '1'なら個数は変化しないので、K文字以内に'1'が出てきたら、'1'が答え

解法

https://beta.atcoder.jp/contests/abc106/submissions/3040119

先頭から見ていき、'1'以外が出たら、その数が答え。
K文字ずっと'1'であれば、'1'が答え。

string S; ll K;
//---------------------------------------------------------------------------------------------------
int solve() {
    K--;
    fore(c, S) {
        if (c == '1') {
            if (K == 0) return 1;
            else K--;
        }
        else return c - '0';
    }
}
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> S >> K;
    cout << solve() << endl;
}