提出 #76473252
ソースコード 拡げる
#include <bits/stdc++.h>
using namespace std;
#define int ll
#define ll long long
#define pb emplace_back
#define pr pair<int,int>
#define mp make_pair
#define endl "\n"
inline int read()
{
int x=0,f=1;char ch=getchar();
while (ch<'0'||ch>'9'){if (ch=='-') f=-1;ch=getchar();}
while (ch>='0'&&ch<='9'){x=x*10+ch-48;ch=getchar();}
return x*f;
}
void write(int x)
{
if(x<0)putchar('-'),x=-x;
if(x<10)putchar(x+'0');
else write(x/10),putchar(x%10+'0');
}
int n,m,k;
int mm[505][505];
int s[505][505];
signed main(){
n=read();
m=read();
k=read();
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
char a;
cin>>a;
mm[i][j]=(a-'0');
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++) s[i][j]=s[i-1][j]+s[i][j-1]-s[i-1][j-1]+mm[i][j];
}
//for(int i=1;i<=n;i++){
// for(int j=1;j<=m;j++) cout<<s[i][j]<<" ";
// cout<<endl;
//}
int ans=0;
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
for(int p=i;p<=n;p++){
int l=j,r=m,mid,da1=INT_MIN,da2=INT_MIN;
while(l<=r){
mid=l+r>>1;
int mq=s[p][mid]-s[p][j-1]-s[i-1][mid]+s[i-1][j-1];
//cout<<" "<<l<<' '<<r<<' '<<mid<<' '<<mq<<endl;
if(mq>=k){
if(mq==k) da1=mid;
r=mid-1;
}
else l=mid+1;
} //left
l=j,r=m;
while(l<=r){
mid=l+r>>1;
int mq=s[p][mid]-s[p][j-1]-s[i-1][mid]+s[i-1][j-1];
//cout<<" 2 "<<p<<' '<<mid<<' '<<i<<' '<<j<<' '<<mq<<endl;
if(mq<=k){
if(mq==k) da2=mid;
l=mid+1;
}
else r=mid-1;
}//right
//cout<<i<<' '<<j<<" "<<p<<' '<<da1<<" "<<da2<<endl;
if(da1!=INT_MIN&&da2!=INT_MIN) ans+=(da2-da1+1);
}
}
}
cout<<ans;
return 0;
}
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Count Subgrid Sum = K |
| ユーザ | Fireflies |
| 言語 | C++23 (GCC 15.2.0) |
| 得点 | 425 |
| コード長 | 1727 Byte |
| 結果 | AC |
| 実行時間 | 2127 ms |
| メモリ | 7564 KiB |
コンパイルエラー
./Main.cpp: In function 'int main()':
./Main.cpp:51:46: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
51 | mid=l+r>>1;
| ~^~
./Main.cpp:62:46: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
62 | mid=l+r>>1;
| ~^~
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 425 / 425 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| 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 |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| sample_01.txt | AC | 1 ms | 3388 KiB |
| sample_02.txt | AC | 1 ms | 3544 KiB |
| sample_03.txt | AC | 1 ms | 3552 KiB |
| test_01.txt | AC | 1 ms | 3472 KiB |
| test_02.txt | AC | 1 ms | 3556 KiB |
| test_03.txt | AC | 1 ms | 3392 KiB |
| test_04.txt | AC | 1 ms | 3448 KiB |
| test_05.txt | AC | 930 ms | 7564 KiB |
| test_06.txt | AC | 854 ms | 7392 KiB |
| test_07.txt | AC | 754 ms | 7384 KiB |
| test_08.txt | AC | 855 ms | 7360 KiB |
| test_09.txt | AC | 861 ms | 7392 KiB |
| test_10.txt | AC | 890 ms | 7356 KiB |
| test_11.txt | AC | 853 ms | 7440 KiB |
| test_12.txt | AC | 931 ms | 7548 KiB |
| test_13.txt | AC | 1187 ms | 7344 KiB |
| test_14.txt | AC | 855 ms | 7356 KiB |
| test_15.txt | AC | 851 ms | 7448 KiB |
| test_16.txt | AC | 1297 ms | 7360 KiB |
| test_17.txt | AC | 2127 ms | 7360 KiB |
| test_18.txt | AC | 873 ms | 7524 KiB |
| test_19.txt | AC | 851 ms | 7388 KiB |
| test_20.txt | AC | 1595 ms | 7564 KiB |
| test_21.txt | AC | 1789 ms | 7396 KiB |
| test_22.txt | AC | 882 ms | 7524 KiB |
| test_23.txt | AC | 851 ms | 7348 KiB |
| test_24.txt | AC | 1096 ms | 7392 KiB |
| test_25.txt | AC | 854 ms | 7448 KiB |
| test_26.txt | AC | 922 ms | 7360 KiB |
| test_27.txt | AC | 885 ms | 7408 KiB |
| test_28.txt | AC | 911 ms | 7392 KiB |