BZOJ - 2456

説明は、
あなたの数nは、すべてのdiv以上のN 2倍の数である数に現れた列の数を、与える、あなたはその数を調べます。

入力
ライン最初の正の整数n。
行2 nは正の整数は、スペースで区切られました。

出力
ライン集会の数を表す正の整数。

サンプル入力
5

3 2 3 1 3

サンプル出力
3


スペースは、唯一の1MBですが非常に重要です。

我々は配列を開くことができませんので。

どのようにそれを数えますか?私たちは、デジタル周波数の利点の多くを使用することができます。私たちは、デジタルオフセットの思考を使用しています。現在の数のレコード番号、番号を加えた回数が直接等しい場合、またはマイナス1。


ACコード:

#include<stdio.h>
//#define int long long
using namespace std;
int n,cnt,res;
signed main(){
	scanf("%d",&n);
	for(int i=1,x;i<=n;i++){
		scanf("%d",&x);
		if(!cnt)	cnt=1,res=x;
		else if(x==res)	cnt++;
		else	cnt--;
	}
	printf("%d\n",res);
	return 0;
}
公開された485元の記事 ウォンの賞賛241 ・は 30000 +を見て

おすすめ

転載: blog.csdn.net/weixin_43826249/article/details/104103211