0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

AtCoderログ:0107 - ABC 132 C

Last updated at Posted at 2021-09-09

問題

問題文

高橋君は、$N$ 個の競技プログラミング用の問題をつくりました。それぞれの問題には $1$ から $N$ の番号がついており、問題 $i$ の難易度は整数 $d_i$ で表されます(大きいほど難しいです)。
高橋君はある整数 $K$ を決めることで、
・難易度が $K$ 以上ならば「ARC 用の問題」
・難易度が $K$ 未満ならば「ABC 用の問題」
という風に、これらの問題を二種類に分類しようとしています。
「ARC 用の問題」と「ABC 用の問題」が同じ数になるような整数 $K$ の選び方は何通りあるでしょうか。

制約

・$2 \le N \le 10^5$
・$N$ は偶数である。
・$1 \le d_i \le 10^5$
・入力は全て整数である。

収録されている問題セット

回答

回答1 (AC)

難易度を配列に保存して昇順(小さい順)にソートした場合、$N/2-1$ 番目の要素は「ABC用の問題」のうち一案難しい問題の難易度、$N/2$ 番目の要素は「ARC用の問題」のうち一番易しい問題の難易度となるので、この間である整数 $K$ はすべて設問の条件を満たします。コードは以下のようになりました。

abc132c-1.cpp
#include <bits/stdc++.h>
using namespace std;

int main() {
  int n;
  cin >> n;

  vector<int> d(n);
  for ( int i=0; i<n; i++ ) {
    cin >> d.at(i);
  }
  
  sort( d.begin(), d.end() );
  
  int abcmax = d.at(n/2-1);
  int arcmin = d.at(n/2);
  
  cout << arcmin-abcmax << endl;
}

調べたこと

AtCoder の解説ユーザ解説

回答1と同じ方針でした。

AtCoder の解説コンテスト全体の解説

回答1と同じ方針でした。

リンク

前後の記事

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?