Codeforcesラウンド#615最大化(DIV。3)D. MEX(良いタイトルを考えます)

トピックリンク
ここに画像を挿入説明
ここに画像を挿入説明
質問の意味:q回を与えられ、Xを尋ね、必ず尋ねる配列に番号を追加します(配列は最初は空)、次のことができ、それぞれ+ xと-x操作、配列の任意の数を尋ねてきますあなたの現在の配列の最小の整数は表示されません。
アイデア:でも、EとFは、この問題では、実際にこだわって作られていますが、私は思考と観察スキルのように感じることができません。
実際には、毎回あなたは無制限のXを追加することができ、マイナスXは、ライン上のスペースを見つけ、結果は唯一のxの係数に影響すると考えてはなりません。

#include<bits/stdc++.h>
using namespace std;
const int maxn=4e5+10;
int a[maxn];
int main()
{
	int q,x,t,ans=0;
	scanf("%d%d",&q,&x);
	while(q--)
	{
		scanf("%d",&t);
		a[t%x]++;
		while(a[ans%x])
		a[ans%x]--,ans++;
		printf("%d\n",ans);
 	} 
}
公開された70元の記事 ウォンの賞賛0 ビュー2430

おすすめ

転載: blog.csdn.net/qq_42479630/article/details/104232998