ロスの問題解決[バレー] CF134A

题解CF134A【平均数】


この質問は、単純なシミュレーションです。

何でも定数を最適化するために、

アイデア:

常に時間を無駄にしないために直接使用して、平均した  Sを減算し、Sが格納されている合計をたびに  Aを_ I A I  で割っ  N--私は、n- - 私が乗じ  1.0 1 0 Keがすでにオンになっています。

以下のコードの場合:

#include <bits/stdc++.h>
using namespace std;
int a[200001],S,b[200001],top = 0,ans;
int main() {
    int n;
    cin>>n;
    for (register int i = 1; i <= n; i++) {
        cin>>a[i];
        S += a[i];//S累加
    }
    for (register int i = 1; i <= n; i++) {
        if(a[i] == (S - a[i]) * 1.0 / (n - 1)) {//判断平均数与ai是否相等
            b[++top] = i;//标记
            ans++;//统计个数
        }
    }
    cout<<ans<<endl;
    for (register int i = 1; i <= top; i++)
        cout<<b[i]<<' ';//输出,不解释
    cout<<endl;
    return 0;
}

题目链接:https://www.luogu.org/problem/CF134A

おすすめ

転載: www.cnblogs.com/Ice-watermelon233/p/problem_ans_luogu_CF134A.html