题解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