求助 #2WA
查看原帖
求助 #2WA
768951
_Chronostatis_楼主2023/11/25 17:00

rt

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 2e5 + 10;

int n, m, l, o, a[MAXN], b[MAXN], c[MAXN], d[MAXN * 3], e[MAXN * 3];
unordered_map<int, int> mp;
pair<pair<int, int>, int> f[MAXN];

bool cmp(const pair<pair<int, int>, int> &i, const pair<pair<int, int>, int> &j) {
  return i.first.first > j.first.first || (i.first.first == j.first.first && i.first.second < j.first.second);
}

int main() {
  cin >> n;
  for (int i = 1; i <= n; i++) {
    cin >> a[i];
    d[++l] = a[i];
  }
  cin >> m;
  for (int i = 1; i <= m; i++) {
    cin >> b[i];
    d[++l] = b[i];
  }
  for (int i = 1; i <= m; i++) {
    cin >> c[i];
    d[++l] = c[i];
  }
  sort(d + 1, d + n + m + m + 1);
  for (int i = 1; i <= n + m + m; i++) {
    if (i == 1 || d[i] != d[i - 1]) {
      e[++o] = d[i];
    }
  }
  for (int i = 1; i <= n; i++) {
    mp[lower_bound(e + 1, e + o + 1, a[i]) - e]++;
  }
  for (int i = 1; i <= m; i++) {
    b[i] = mp[lower_bound(e + 1, e + o + 1, b[i]) - e];
    c[i] = mp[lower_bound(e + 1, e + o + 1, c[i]) - e];
    f[i] = {{b[i], c[i]}, i};
  }
  sort(f + 1, f + m + 1);
  cout << f[1].first.second;
  return 0;
}

2023/11/25 17:00
加载中...