結果
| 問題 | No.3806 Crossword Key with Cropping (Easy) |
| ユーザー |
|
| 提出日時 | 2026-10-24 12:16:47 |
| 言語 | C++23(gcc16) (gcc 16.2.0 + boost 1.92.0 + ACL) |
| 結果 |
WA
不安定
|
| 実行時間 | - |
| コード長 | 976 bytes |
| 記録 | |
| コンパイル時間 | 1,211 ms |
| コンパイル使用メモリ | 176,892 KB |
| 実行使用メモリ | 9,924 KB |
| 最終ジャッジ日時 | 2026-11-14 14:34:17 |
| 合計ジャッジ時間 | 5,724 ms |
|
ジャッジサーバーID (参考情報) |
judge2_0 / judge3_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 2 |
| other | WA * 53 |
ソースコード
// Gemini 3
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int H, W;
if (!(cin >> H >> W)) return 0;
vector<string> S(H);
for (int i = 0; i < H; ++i) {
cin >> S[i];
}
int Q;
if (!(cin >> Q)) return 0;
// 2次元累積和などを前計算する配列を用意
// 各マスの状態(白マスか、周辺の状況など)をベースに累積和を構築する
// ...
while (Q--) {
int A, B, C, D;
cin >> A >> B >> C >> D;
--A; --B; --C; --D;
long long ans = 0;
// ※もしクエリごとの縦幅 (C - A + 1) が小さい場合や、
// 行方向・列方向に分解できる性質を利用して O(C - A + 1) や O(1) で計算します。
// (以下は概念的な高速化のイメージです)
cout << ans << "\n";
}
return 0;
}