Official

A - CatCoder Double Contest Editorial by admin


Div.1 を \(X\) セット、Div.2 を \(Y\) セット組めるような \((X,Y)\) の組の集合 \(S\) について考えます。

Div.1 を最大限に開催し、余った問題案で Div.2 を最大限に開催したときの Div.1, Div.2 の開催数をそれぞれ \(X_1,Y_1\) とします。 同様に、Div.2 を最大限に開催し、余った問題案で Div.1 を最大限に開催したときの Div.1, Div.2 の開催数をそれぞれ \(X_2,Y_2\) とします。

\(X+Y\) としてありうる最大値は \(X_1+Y_1\) です。なぜなら、Div.1 を \(1\) セット減らすことによって増やせる Div.2 の個数は高々 \(1\) 個であるためです。また、\(X_1+Y_1 = X_2+Y_2\) です。

\((X_1,Y_1)\)\((X_2,Y_2)\) の間、すなわち \(x \le X_1 \land y \le Y_2 \land x+y=X_1+Y_1(=X_2+Y_2)\) を満たす \((x,y)\)\(S\) に含まれます。

証明 \(X_2 \lt x \le X_1 \land Y_1 \le y \lt Y_2 \land x+y=X_1+Y_1\) であるような \((x,y)\) から \((x-1,y+1)\) に組替えることが出来ることを示す。 Div.2 の個数が上限ではない writer が必ずおり、その writer の Div.1 を \(1\) 個崩すことにより、Medium の問題案が \(1\) 個余る。Div.2 の個数が上限でないことより Easy の問題案も \(1\) 個余っているため、Div.2 を新たに \(1\) 個組むことが出来る。

また、\(S\)\((X,Y)\) が含まれるとき、明らかに \(0 \le x \le X \land 0 \le y \le Y\) を満たす \((x,y)\)\(S\) に含まれます。つまり、\(S\) は下図のような形をしています。

答えは \(S\)\((k,k)\) が含まれるような最大の \(k\) であり、これは \(min(\lfloor \frac{X_1+Y_1}{2} \rfloor, X_1, Y_2)\) です。

posted:
last update: