結果
| 問題 |
No.989 N×Mマス計算(K以上)
|
| ユーザー |
oevl
|
| 提出日時 | 2020-04-18 23:04:09 |
| 言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
AC
|
| 実行時間 | 69 ms / 2,000 ms |
| コード長 | 686 bytes |
| コンパイル時間 | 2,287 ms |
| コンパイル使用メモリ | 197,192 KB |
| 最終ジャッジ日時 | 2025-01-09 21:19:47 |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 18 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
int main() {
int N, M, K;
cin >> N >> M >> K;
char op; cin >> op;
vector<int64_t> B(M), A(N);
for(auto &e : B) cin >> e;
for(auto &e : A) cin >> e;
sort(B.begin(), B.end());
auto f = [&](int64_t a, int64_t b) -> int64_t { return op == '+' ? a + b : a * b; };
int64_t ans = 0;
for(int i = 0; i < N; ++i) {
auto OK = [&](int x) -> bool { return f(A[i], B[x - 1]) < K; };
int l = 0, r = M + 1;
while(r - l > 1) {
int c = (l + r) / 2;
if(OK(c)) l = c;
else r = c;
}
ans += M - l;
}
cout << ans << '\n';
return 0;
}
oevl