結果
| 問題 |
No.990 N×Mマス計算(Kの倍数)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2020-02-14 22:49:02 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 961 bytes |
| コンパイル時間 | 1,706 ms |
| コンパイル使用メモリ | 167,260 KB |
| 実行使用メモリ | 17,408 KB |
| 最終ジャッジ日時 | 2024-11-16 01:11:32 |
| 合計ジャッジ時間 | 5,512 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 15 WA * 4 |
ソースコード
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main(){
int n, m, k;
cin >> n >> m >> k;
char op;
cin >> op;
int a[100010];
int b[100010];
map<int, int> bmp;
int ans = 0;
if(op == '*'){
for(int i = 0;i < m;i++){
cin >> b[i];
int tmp = __gcd(b[i], k);
bmp[k/tmp]++;
}
for(int i = 0;i < n;i++){
cin >> a[i];
for(auto p : bmp){
if(p.first * p.first > a[i]) break;
if(a[i] % p.first == 0){
ans += p.second;
}
}
}
}else{
for(int i = 0;i < m;i++){
cin >> b[i];
b[i] %= k;
bmp[b[i]]++;
}
for(int i = 0;i < n;i++){
cin >> a[i];
a[i] %= k;
ans += bmp[(k-a[i]) % k ];
}
}
cout << ans << endl;
return 0;
}