結果

問題 No.989 N×Mマス計算(K以上)
ユーザー ronnya
提出日時 2022-05-16 07:00:51
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
AC  
実行時間 31 ms / 2,000 ms
コード長 968 bytes
コンパイル時間 2,099 ms
コンパイル使用メモリ 198,212 KB
最終ジャッジ日時 2025-01-29 08:29:32
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 2
other AC * 18
権限があれば一括ダウンロードができます

ソースコード

diff #

#include<bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef long double ld;

#define rep(i, a, b) for(ll i = (ll)a; i < (ll)b; i++)
#define irep(i, v) for(auto i = (v).begin(); i != (v).end(); i++)
#define ALL(v) (v).begin(), (v).end()
#define SZ(v) (ll)(v).size()

const ll INF = 1e18;
const ld EPS = 1e-10;

ll f(ll a, ll b, char op){
  if(op == '+') return a + b;
  else return a * b;
}


int main(){
  cin.tie(0);
  ios::sync_with_stdio(false);
  srand((unsigned)time(NULL));
  cout << fixed << setprecision(20);

  ll n, m, k;
  cin >> n >> m >> k;
  char op;
  cin >> op;
  vector<ll> b(m), a(n);
  rep(i, 0, m) cin >> b[i];
  rep(i, 0, n) cin >> a[i];
  sort(ALL(b));
  ll ans = 0;
  rep(i, 0, n){
    ll lef, rig, mid;
    lef = -1;
    rig = m;
    while(rig - lef > 1){
      mid = (lef + rig) / 2;
      if(f(a[i], b[mid], op) >= k) rig = mid;
      else lef = mid;
    }
    ans += (m - rig);
  }

  cout << ans << endl;





  return 0;
}
0