Submission #469139

#TimeUsernameProblemLanguageResultExecution timeMemory
469139ala2Bob (COCI14_bob)C++14
0 / 120
514 ms24108 KiB
#include <bits/stdc++.h> #define ff first #define ss second #define int long long using namespace std; int a[1010][1010]; int dpr[1010][1010]; int dpc[1010][1010]; pair<int,int> dp3[1010][1010]; signed main() { int n; cin>>n; int m; cin>>m; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) cin>>a[i][j]; } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { dpc[i][j]=1; dpr[i][j]=1; } } for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { if(i>0) { if(a[i][j]==a[i-1][j]) { dpr[i][j]=dpr[i-1][j]+1; } } if(j>0) { if(a[i][j]==a[i][j-1]) { dpc[i][j]=dpc[i][j-1]+1; } } } }// ff for c ss for r int ans=0; for(int i=0;i<n;i++) { for(int j=0;j<m;j++) { //cout<<dpr[i][j]<<" "; int mn=1e17; ans+=dpr[i][j]; for(int k=j-1;k>=0;k--) { if(a[i][k]!=a[i][k+1]) break; mn=min(mn,dpr[i][k]); ans+=mn; } // cout<<" :"<<ans<<" "; } // cout<<endl; } cout<<ans<<endl;; }
#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...