Submission #1173248

#TimeUsernameProblemLanguageResultExecution timeMemory
1173248ezzzayBob (COCI14_bob)C++20
24 / 120
1096 ms6292 KiB
#include<bits/stdc++.h>
using namespace std;
#define ff first
#define ss second
#define pb push_back
const int N=1500;
int a[N][N];
int ps[N][N];
bool vis[N][N];
set<int>st;
bool check(int x, int y, int l, int r){
    //return vis[x][y][l][r];
    for(int i=x;i<=y;i++){
        st.insert(a[i][r]);
        if(st.size()>1)return 0;
        
    }
    return 1;
}
signed main(){
    int n,m;
    cin>>n>>m;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
        }
    }
    int ans=0;
    for(int y1=1;y1<=n;y1++){
        for(int y2=y1;y2<=n;y2++){
            for(int x1=1;x1<=m;x1++){
                st.clear();
                int x2=x1;
                while(check(y1,y2,x1,x2)){
                    ans+= x2-x1+1;
                    x2++;
                }
                if(x1!=x2)x2--;
                x1=x2;
            }
        }
    }
    cout<<ans;
}
#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...