Codeforces 134 A. Average Numbers

問題

n個の整数が与えられる。
このうちで、n個の整数の平均になっている整数の個数および、それらの番号を全て出力せよ。

制約条件

n≦2*10^5
a[i]≦1000

方針

単純に平均をとって比較すればいい。
合計がnで割り切れない場合はあらかじめはぶく。

ソースコード

ll n,a[200000];

void run()
{
	cin>>n;
	rep(i,n)cin>>a[i];
	ll sum=0;
	rep(i,n)sum+=a[i];
	if(sum%n){
		cout<<0<<endl;
		return;
	}
	sum/=n;
	vi ans;
	rep(i,n)if(a[i]==sum)ans.pb(i+1);
	cout<<ans.size()<<endl;
	rep(i,ans.size())cout<<ans[i]<<(i==n-1?"\n":" ");
}