バイトの競プロメモ

主に競技プログラミング

No.794 チーム戦

No.794 チーム戦 - yukicoder

この手の一つ一つ選んでいく問題は、選ぶ対象が単調増加していくように設定すれば解ける
ソートして大きい順に見ていくと、選べる相手はあるv以下の数であり、このvは単調増加のため解けた

類題
F - チーム分け
D - Double Landscape

>|c++|
void solve() {
cin >> n >> k;
na(a, n);
sort(a);
mint res = 1;
setMod();
rep(i, n / 2) {
int j = n - 1 - i;
int lb = upperIndex(a, k - a[j]);
chmin(lb,j);
res *= lb - i;
}
cout << res << endl;
}