結果

問題 No.3325 陰陽師
コンテスト
ユーザー のらら
提出日時 2025-10-30 22:42:06
言語 C++23
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 1,046 bytes
コンパイル時間 3,491 ms
コンパイル使用メモリ 183,820 KB
実行使用メモリ 18,060 KB
最終ジャッジ日時 2025-11-01 02:54:20
合計ジャッジ時間 14,053 ms
ジャッジサーバーID
(参考情報)
judge2 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other WA * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

//入力+テストケースチェック
#include <iostream>
#include <algorithm>
#include <atcoder/all>
#include <set>
#include <cassert>
using namespace std;
using namespace atcoder;
using ll = long long;
//#define endl "\n";
const long long INF = 1000000000000000000;
ll N, M, B[200009];
multiset<ll> mst;

int main(){
  cin >> N >> M;
  assert(1 <= N <= 2e5);
  assert(1 <= M <= N);
  for(int i = 0; i < N; i++){
    ll a;
    cin >> a;
    assert(1 <= a <= 1e9);
    mst.insert(a);
  }
  for(int i = 0; i < M; i++){
    cin >> B[i];
    assert(1 <= B[i] <= 1e9);
  }
  
  vector<ll> vA, vB;
  ll num = 0;
  for(int i = 0; i < M; i++){
    auto itr = mst.lower_bound(B[i]);
    if(itr == mst.end()){
      break;
    }
    vA.push_back(*itr);
    vB.push_back(B[i]);
    mst.erase(mst.find(*itr));
    num++;
  }
  ll ans = 0;
  sort(vA.begin(), vA.end());
  sort(vB.begin(), vB.end());
  for(int i = 0; i < (int)vA.size(); i++){
    ans = max(ans, abs(vA[i] - vB[i]));
  }
  cout << "num=" << num << endl;
  cout << ans << endl;
  return 0;
}
0