結果

問題 No.989 N×Mマス計算(K以上)
ユーザー tnakao0123
提出日時 2020-02-15 03:22:09
言語 C++14
(gcc 9.2.0)
結果
AC  
実行時間 28 ms
コード長 1,088 Byte
コンパイル時間 676 ms
使用メモリ 3,856 KB
最終ジャッジ日時 2020-02-15 03:22:12

テストケース

テストケース表示
入力 結果 実行時間
使用メモリ
1_sample1.txt AC 0 ms
3,208 KB
2_sample2.txt AC 0 ms
3,320 KB
3.txt AC 4 ms
3,388 KB
4.txt AC 4 ms
3,452 KB
5.txt AC 0 ms
3,380 KB
6.txt AC 0 ms
3,436 KB
7.txt AC 4 ms
3,460 KB
8.txt AC 0 ms
3,388 KB
9.txt AC 0 ms
3,380 KB
10.txt AC 4 ms
3,220 KB
11.txt AC 16 ms
3,720 KB
12.txt AC 20 ms
3,768 KB
13.txt AC 24 ms
3,616 KB
14.txt AC 12 ms
3,408 KB
15.txt AC 28 ms
3,856 KB
16.txt AC 8 ms
3,324 KB
17.txt AC 16 ms
3,648 KB
18.txt AC 12 ms
3,548 KB
19.txt AC 12 ms
3,400 KB
20.txt AC 24 ms
3,552 KB
テストケース一括ダウンロード

ソースコード

diff #
/* -*- coding: utf-8 -*-
 *
 * 989.cc:  No.989 N×Mマス計算(K以上) - yukicoder
 */

#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<iostream>
#include<string>
#include<vector>
#include<map>
#include<set>
#include<stack>
#include<list>
#include<queue>
#include<deque>
#include<algorithm>
#include<numeric>
#include<utility>
#include<complex>
#include<functional>
 
using namespace std;

/* constant */

const int MAX_N = 100000;
const int MAX_M = 100000;

/* typedef */

typedef long long ll;

/* global variables */

int as[MAX_N], bs[MAX_M];

/* subroutines */

/* main */

int main() {
  int n, m, k;
  scanf("%d%d%d", &n, &m, &k);

  char s[4];
  scanf("%s", s);
  char op = s[0];

  int asum = 0, bsum = 0;
  for (int j = 0; j < m; j++) scanf("%d", bs + j);
  for (int i = 0; i < n; i++) scanf("%d", as + i);
  sort(bs, bs + m);

  ll sum = 0;
  for (int i = 0; i < n; i++) {
    int ka = (op == '+') ? k - as[i] : (k + as[i] - 1) / as[i];
    int l = lower_bound(bs, bs + m, ka) - bs;
    sum += m - l;
  }

  printf("%lld\n", sum);
  return 0;
}
0