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

hamayanhamayan's blog

値札 [codeFlyer (bitFlyer Programming Contest) A]

https://beta.atcoder.jp/contests/bitflyer2018-final-open/tasks/bitflyer2018_final_a

解法

https://beta.atcoder.jp/contests/bitflyer2018-final-open/submissions/2762852

答えは全ての要素の中で末尾の0の個数の最小値となる。
末尾の0を数えるには10で余りなく最大で何回割れるかを数えるといい。

int N, P[101];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    rep(i, 0, N) cin >> P[i];
 
    int ans = inf;
    rep(i, 0, N) {
        int cnt = 0;
        while (P[i] % 10 == 0) {
            P[i] /= 10;
            cnt++;
        }
        chmin(ans, cnt);
    }
    cout << ans << endl;
}