This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include<bits/stdc++.h>
using namespace std;
long long a,b,c,d,e,f[2509][2509],z,x,pas;
bool dp[89][89][89],dp2[89][89][89];
long long count_rectangles(vector <vector <int> > A){
a=A.size();
b=A[0].size();
a--;b--;
for(c=0; c<=a; c++) for(d=0; d<=b; d++) f[c][d]=A[c][d];
for(c=1; c<a; c++){
for(d=1; d<b; d++){
z=0;
for(e=d; e<b; e++){
if(z<f[c][e]) z=f[c][e];
if(z>=f[c][d-1]) break;
if(z<f[c][e+1]){
dp[c][d][e]=1;
}
}
}
}
// cout<<dp[2][1][1]<<endl;
for(c=1; c<a; c++){
for(d=1; d<a; d++){
for(e=d; e<a; e++){
x=0;
for(z=c; z<a; z++){
if(dp[z][d][e]==0) break;
//if(c==1&&d==1&&e==1&&z==2) cout<<"Dsada"<<endl;
if(x<f[z][d]) x=f[z][d];
if(x>=f[c-1][d]) break;
if(x<f[z+1][d]){
pas++;
// cout<<c<<" "<<d<<" "<<z<<" "<<e<<endl;
}
}
}
}
}
return pas;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |