Submission #328666

#TimeUsernameProblemLanguageResultExecution timeMemory
328666a_playerBitaro the Brave (JOI19_ho_t1)C++14
50 / 100
1093 ms49184 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const int nax=3e3+3; char m[nax][nax]; vector<int> row[nax]; vector<int> col[nax]; int main(){ int h,w; cin>>h>>w; for(int i=0;i<h;i++) for(int j=0;j<w;j++){ cin>>m[i][j]; if(m[i][j]=='O')row[i].push_back(j); if(m[i][j]=='I')col[j].push_back(i); } ll sol=0; for(int i=0;i<h;i++) for(int j=0;j<w;j++){ if(m[i][j]=='J'){ int p=lower_bound(row[i].begin(),row[i].end(),j)-row[i].begin(); int q=lower_bound(col[j].begin(),col[j].end(),i)-col[j].begin(); sol+=(ll)(row[i].size()-p)*(ll)(col[j].size()-q); } } cout<<sol<<endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...