Yukicoder035 タイパー高橋

問題概要

タイピングゲーム$N$回をする。 $i$回目では$T[i]$ミリ秒以内に$|S_i|$という文字をタイピングしなければならない。 $m$ミリ秒で$ ⌊12m/1000⌋ $だけ正確にタイピングできるとして、正確にタイプできる文字数と、そうでない文字数を出力せよ。

$N\leqq10^3$、$T[i]\leqq3*10^4$、$|S_i|\leqq10^2$

yukicoder035

解法

$ ⌊12m/1000⌋ $と書いてあるので、これより多くあふれた文字数が打てなかった文字列。 これをカウントすればよい。

計算量:$O(N)$

ソース

    #include <bits/stdc++.h>
    using namespace std;
    
    #define SZ(a) int((a).size())
    #define FOR(i, s, e) for (int(i) = (s); (i) < (e); (i)++)
    
    int main() {
        cin.tie(0);
        ios_base::sync_with_stdio(false);
    
        int N; cin >> N;
        int sum = 0;
        int size = 0;
        FOR(i, 0, N) {
            int t; string s;
            cin >> t >> s;
            size += SZ(s);
            sum += min(SZ(s), t * 12 / 1000);
        }
        cout << sum << " " << size - sum << endl;
    
        return 0;
    }
Share Comments
̃Gg[͂ĂȃubN}[Nɒlj
comments powered by Disqus