Submission #560315

#TimeUsernameProblemLanguageResultExecution timeMemory
560315AGEStrah (COCI18_strah)C++14
55 / 110
194 ms217320 KiB
#include<bits/stdc++.h> #define F first #define S second #define pb push_back #define int long long using namespace std; const int N=1e5,M=305,mod=1e9+7; int ok[M][M][M],prefix[M][M],okk[M][M]; string s[M]; main() { int n,m; cin>>n>>m; for(int i=0;i<n;i++) cin>>s[i]; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ int okk=0; for(int k=j;k<m;k++){ if(s[i][k]=='#') okk=1; ok[i][j][k]=okk; } } } for(int i=0;i<m;i++){ for(int j=i;j<m;j++){ int last=n; for(int k=n-1;k>=0;k--){ if(ok[k][i][j]==1) last=k; ok[k][i][j]=last; } } } int ans=0; for(int i=0;i<m;i++) for(int j=i;j<m;j++) prefix[i][j]=-1; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ int okk=0; for(int k=j;k<m;k++){ if(s[i][k]=='#') okk=1; if(okk==1) prefix[j][k]=i; } } for(int j=0;j<m;j++) for(int k=j;k<m;k++) ans+=((prefix[j][k]-i)*(i-ok[i][j][k])*(k-j+1)); } cout<<ans<<endl; return 0; }

Compilation message (stderr)

strah.cpp:10:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   10 | main()
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...