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: