計算量の説明がどこにも書かれていなくて困った。以下は自分の理解。
i番目のクエリで与えられるPi人の人間について、代表者の人数をxi、代表者以外の人数をyiとする。xi個のグループそれぞれについて、走査して離脱しないメンバーが見つかったら打ち切るのが想定解らしい。D=105として1つのクエリで調べるノード数は最大でmin(xiyi,D)なので、計算量は∑i=1Qmin(xiyi,D)と書ける。これを評価したい。
まず、∑i=1QPi=∑i=1Q(xi+yi)≤Dという制約がある。xi+yiが一定のときxiyiはxi=yiで最大値を取るので、∑i=1Qxi≤D/2という条件下で∑i=1Qmin(xi2,D)を評価する問題ということにいなる。面倒なので、代わりに∑i=1Qxi≤Dとしておく。
xi+xjが一定のとき、xi2+xj2はxj=0で最大になるので、∑i=1Qxi2を大きくするには値をできるだけ偏らせるのが最善である。ただし、1つの変数をDより大きくしても意味がないので、最大値を取る配分の一つは(x1,x2,...,xQ)=(D,...,D,0,...,0)という形になる。∑i=1Qxi≤Dより、最大でD個程度のxiをDにできるから、このとき∑i=1Qmin(xi2,D)=DDと見積もれる。