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
AC × 3
AC × 31
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