Submission #76474420
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
typedef string str;
typedef long long ll;
typedef long double ld;
typedef unsigned long long ull;
using VI = vector<int>;
using VL = vector<ll>;
using VC = vector<char>;
using VS = vector<str>;
using P = pair<ll,ll>;
#define VE vector
#define pb push_back
#define sp ' '
#define fi first
#define se second
inline void scan(){}
template<class Head,class... Tail>
inline void scan(Head&head,Tail&... tail){std::cin>>head;scan(tail...);}
#define LL(...) ll __VA_ARGS__;scan(__VA_ARGS__)
#define LD(...) ld __VA_ARGS__;scan(__VA_ARGS__)
#define INT(...) int __VA_ARGS__;scan(__VA_ARGS__)
#define STR(...) string __VA_ARGS__;scan(__VA_ARGS__)
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")//早くなる呪文
//可変長引数のmin
template<class... T>
constexpr auto min(T... a){return min(initializer_list<common_type_t<T...>>{a...});}
//可変長引数のmax
template<class... T>
constexpr auto max(T... a){return max(initializer_list<common_type_t<T...>>{a...});}
template<typename T,typename U>inline bool chmax(T&a,U b){if(a<b){a=b;return 1;}return 0;}
template<typename T,typename U>inline bool chmin(T&a,U b){if(a>b){a=b;return 1;}return 0;}
#define rep(i,a,b) for(ll i=a;i<b;i++)
#define rrep(i,a,b) for(ll i=a;i>b;i--)
#define urep(i,a,b) for(ull i=a;i<b;i++)
#define crep(i,a,b,c) for(ll i=a;i<b;i+=c)
#define ALL(x) std::begin(x),std::end(x)
#define RALL(x) std::rbegin(x),std::rend(x)
#define bit(x,i) (((x)>>(i))&1)
#define INF ((1LL<<62)-(1LL<<31))
//約数列挙 引数に取った整数の約数のvectorを返す
vector<ll>enumdiv(ll n){vector<ll>s;for(ll i = 1;i*i<=n;i++){if(n%i==0){s.push_back(i);if(i*i!=n)s.push_back(n/i);}}return s;}
// llで受け取れる奴
template<typename T> inline int len(vector<T>&a){return a.size();}
inline int len(string&a){return a.size();}
vector<ll> dx={1,0,-1,0};vector<ll> dy={0,1,0,-1};
vector<ll> edx={0,1,1,1,0,-1,-1,-1};vector<ll> edy={1,1,0,-1,-1,-1,0,1};
#include <atcoder/all>
using namespace atcoder;
using mint = modint998244353;
int main(){
LL(h,w,k);
VE<VL> grid(h,VL(w));
rep(i,0,h){
rep(j,0,w){
char c;
cin>>c;
grid[i][j]=(c-'0');
}
}
VE<VL> rui(h+1,VL(w+1));
rep(i,0,h){
rep(j,0,w){
rui[i+1][j+1]=rui[i+1][j]+rui[i][j+1]-rui[i][j]+grid[i][j];
}
}
ll ans=0;
rep(i,0,h){
rep(j,0,w){
rep(ii,i+1,h+1){
rep(jj,j+1,w+1){
if(k==rui[ii][jj]-rui[ii][j]-rui[i][jj]+rui[i][j]){
ans++;
}
}
}
}
}
cout<<ans<<endl;
}
Submission Info
| Submission Time |
|
| Task |
D - Count Subgrid Sum = K |
| User |
raspberry1729 |
| Language |
C++23 (GCC 15.2.0) |
| Score |
425 |
| Code Size |
2678 Byte |
| Status |
AC |
| Exec Time |
3243 ms |
| Memory |
7584 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 |
3432 KiB |
| sample_02.txt |
AC |
1 ms |
3620 KiB |
| sample_03.txt |
AC |
1 ms |
3496 KiB |
| test_01.txt |
AC |
1 ms |
3500 KiB |
| test_02.txt |
AC |
1 ms |
3432 KiB |
| test_03.txt |
AC |
1 ms |
3616 KiB |
| test_04.txt |
AC |
1 ms |
3496 KiB |
| test_05.txt |
AC |
3124 ms |
7400 KiB |
| test_06.txt |
AC |
3201 ms |
7540 KiB |
| test_07.txt |
AC |
3120 ms |
7464 KiB |
| test_08.txt |
AC |
3201 ms |
7424 KiB |
| test_09.txt |
AC |
3185 ms |
7584 KiB |
| test_10.txt |
AC |
3181 ms |
7468 KiB |
| test_11.txt |
AC |
3167 ms |
7540 KiB |
| test_12.txt |
AC |
3158 ms |
7464 KiB |
| test_13.txt |
AC |
3210 ms |
7464 KiB |
| test_14.txt |
AC |
3194 ms |
7584 KiB |
| test_15.txt |
AC |
3184 ms |
7416 KiB |
| test_16.txt |
AC |
3202 ms |
7540 KiB |
| test_17.txt |
AC |
3243 ms |
7556 KiB |
| test_18.txt |
AC |
3157 ms |
7548 KiB |
| test_19.txt |
AC |
3171 ms |
7468 KiB |
| test_20.txt |
AC |
3154 ms |
7568 KiB |
| test_21.txt |
AC |
3182 ms |
7464 KiB |
| test_22.txt |
AC |
3161 ms |
7416 KiB |
| test_23.txt |
AC |
3186 ms |
7564 KiB |
| test_24.txt |
AC |
3162 ms |
7400 KiB |
| test_25.txt |
AC |
3161 ms |
7536 KiB |
| test_26.txt |
AC |
3140 ms |
7416 KiB |
| test_27.txt |
AC |
3195 ms |
7400 KiB |
| test_28.txt |
AC |
3165 ms |
7468 KiB |