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

hamayanhamayan's blog

所得格差 [ICPC2018 国内予選 A]

https://onlinejudge.u-aizu.ac.jp/challenges/sources/ICPC/Prelim/1624

解法

https://onlinejudge.u-aizu.ac.jp/solutions/problem/1624/review/3029389/hamayanhamayan/C++14

a[1]+...+a[n]=smとして総和をとっておく。
各a[i]についてa[i]≦sm/nであることを判定するが、誤差が怖いので、A[i]*n≦smで判定しよう。

int N, A[10101];
//---------------------------------------------------------------------------------------------------
void _main() {
    while (cin >> N) {
        if (N == 0) return;
        rep(i, 0, N) cin >> A[i];

        int sm = 0;
        rep(i, 0, N) sm += A[i];

        int ans = 0;
        rep(i, 0, N) if (A[i] * N <= sm) ans++;
        printf("%d\n", ans);
    }
}