Submission #76475334
Source Code Expand
#include <bits/stdc++.h>
#include <atcoder/all>
using namespace std;
using namespace atcoder;
using ll = long long;
using ld = long double;
using ull = unsigned long long;
using vi = vector<ll>;
using vvi = vector<vi>;
using vc = vector<char>;
using vvc = vector<vc>;
using vb = vector<bool>;
using vvb = vector<vb>;
using vs = vector<string>;
using pii = pair<ll, ll>;
using vpii = vector<pii>;
using vvpii = vector<vpii>;
using mint = modint998244353;
// using mint = modint1000000007;
#define endl '\n'
#define OVERLOAD_REP(a, b, c, d, name, ...) name
#define rep(...) OVERLOAD_REP(__VA_ARGS__, REP3, REP2, REP1, REP0)(__VA_ARGS__)
#define REP0(x) for (ll _rep_counter = 0; _rep_counter < (x); ++_rep_counter)
#define REP1(i, x) for (ll i = 0; (i) < (x); ++(i))
#define REP2(i, l, r) for (ll i = (l); (i) < (r); ++(i))
#define REP3(i, l, r, c) for (ll i = (l); ((c) > 0 ? (i) < (r) : (i) > (r)); i += (c))
#define all(x) (x).begin(), (x).end()
#define rall(x) (x).rbegin(), (x).rend()
const ll INF = LLONG_MAX / 4;
vi dx = {1, 0, -1, 0, 1, 1, -1, -1};
vi dy = {0, 1, 0, -1, 1, -1, 1, -1};
vc alphabet = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
vc ALPHABET = {'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'};
void io_setup()
{
cin.tie(0);
ios::sync_with_stdio(0);
cout << fixed << setprecision(16);
}
int main(void)
{
io_setup();
int h, w, k;
cin >> h >> w >> k;
vvi g(h, vi(w));
ll ans = 0;
rep(i, h){
string s;
cin >> s;
rep(j, w){
g[i][j] = s[j]-'0';
}
}
vvi sum(h+1, vi(w));
rep(i, h) {
rep(j, w) {
sum[i + 1][j] = sum[i][j] + g[i][j];
}
}
rep(i, h+1){
rep(j, w){
cerr << sum[i][j];
}
cerr << endl;
}
rep(r1, h){
rep(r2, r1, h){
vi col(w);
rep(j, w) {
col[j] = sum[r2 + 1][j] - sum[r1][j];
}
unordered_map<ll, ll> mp;
mp.reserve(w * 2);
ll pref = 0;
mp[0] = 1;
rep(j, w) {
pref += col[j];
auto it = mp.find(pref - k);
if (it != mp.end()) {
ans += it->second;
}
mp[pref]++;
}
}
}
cout << ans << endl;
}
Submission Info
| Submission Time |
|
| Task |
D - Count Subgrid Sum = K |
| User |
karas1 |
| Language |
C++23 (GCC 15.2.0) |
| Score |
425 |
| Code Size |
2454 Byte |
| Status |
AC |
| Exec Time |
2658 ms |
| Memory |
7756 KiB |
Judge Result
| Set Name |
Sample |
All |
| Score / Max Score |
0 / 0 |
425 / 425 |
| Status |
|
|
| Set Name |
Test Cases |
| Sample |
sample_01.txt, sample_02.txt, sample_03.txt |
| All |
sample_01.txt, sample_02.txt, sample_03.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt |
| Case Name |
Status |
Exec Time |
Memory |
| sample_01.txt |
AC |
1 ms |
3508 KiB |
| sample_02.txt |
AC |
1 ms |
3588 KiB |
| sample_03.txt |
AC |
1 ms |
3492 KiB |
| test_01.txt |
AC |
1 ms |
3660 KiB |
| test_02.txt |
AC |
1 ms |
3532 KiB |
| test_03.txt |
AC |
1 ms |
3660 KiB |
| test_04.txt |
AC |
1 ms |
3544 KiB |
| test_05.txt |
AC |
450 ms |
7468 KiB |
| test_06.txt |
AC |
449 ms |
7500 KiB |
| test_07.txt |
AC |
1800 ms |
7608 KiB |
| test_08.txt |
AC |
1814 ms |
7640 KiB |
| test_09.txt |
AC |
466 ms |
7452 KiB |
| test_10.txt |
AC |
456 ms |
7512 KiB |
| test_11.txt |
AC |
462 ms |
7624 KiB |
| test_12.txt |
AC |
458 ms |
7500 KiB |
| test_13.txt |
AC |
694 ms |
7640 KiB |
| test_14.txt |
AC |
770 ms |
7688 KiB |
| test_15.txt |
AC |
562 ms |
7556 KiB |
| test_16.txt |
AC |
746 ms |
7716 KiB |
| test_17.txt |
AC |
1758 ms |
7624 KiB |
| test_18.txt |
AC |
2362 ms |
7692 KiB |
| test_19.txt |
AC |
1120 ms |
7628 KiB |
| test_20.txt |
AC |
1502 ms |
7584 KiB |
| test_21.txt |
AC |
2641 ms |
7584 KiB |
| test_22.txt |
AC |
2641 ms |
7564 KiB |
| test_23.txt |
AC |
2533 ms |
7584 KiB |
| test_24.txt |
AC |
2658 ms |
7684 KiB |
| test_25.txt |
AC |
454 ms |
7684 KiB |
| test_26.txt |
AC |
449 ms |
7456 KiB |
| test_27.txt |
AC |
450 ms |
7756 KiB |
| test_28.txt |
AC |
448 ms |
7460 KiB |