Submission #1221506

#TimeUsernameProblemLanguageResultExecution timeMemory
1221506brover29Bitaro the Brave (JOI19_ho_t1)C++17
100 / 100
323 ms106296 KiB
#include <bits/stdc++.h> //N8H+R!dg!ZZ5=+6 using namespace std; using ll = int; const ll N=3005; ll n,m,a[N][N],pref[N][N][2]; unordered_map<char,ll>mp; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); string s="JOI"; for(ll i=0;i<3;i++)mp[s[i]]=i; cin>>n>>m; long long ans=0; for(ll i=1;i<=n;i++){ for(ll j=1;j<=m;j++){ char c; cin>>c; a[i][j]=mp[c]; } }for(ll i=1;i<=n;i++){ for(ll j=m;j>=1;j--){ pref[i][j][0]=pref[i][j+1][0]+(a[i][j]==1); } }for(ll j=1;j<=m;j++){ for(ll i=n;i>=1;i--){ pref[i][j][1]=pref[i+1][j][1]+(a[i][j]==2); if(a[i][j])continue; ans+=(pref[i][j][0]*pref[i][j][1]); } } cout<<ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...