#include <bits/stdc++.h>
using namespace std;
#define lint long long int
int mod=1e9+7;
int main(){
int n;
cin>>n;
vector<vector<int>> g(52,vector<int>(52,0));
vector<int> h(n+1);
vector<int> w(n+1);
for(int i=1;i<=n;i++) cin>>h[i];
for(int i=1;i<=n;i++) cin>>w[i];
int re=0;
int maxh=0;
for(int i=1;i<=n;i++){
maxh=max(maxh,h[i]);
for(int j=1;j<=w[i];j++){
re++;
for(int k=1;k<=h[i];k++){
g[re][k]=1;
}
}
}
vector<vector<int>> a(52,vector<int>(52,0));
for(int i=1;i<=re;i++){
for(int j=1;j<=maxh;j++){
a[i][j]=a[i-1][j]+a[i][j-1]-a[i-1][j-1]+g[i][j];
}
}
// for(int i=1;i<=re;i++){
// for(int j=1;j<=maxh;j++){
// cout<<a[i][j]<<" ";
// }
// cout<<endl;
// }
int ans=0;
for(int x1=1;x1<=re;x1++){
for(int y1=1;y1<=maxh;y1++){
for(int xx=0;xx+x1<=re;xx++){
for(int yy=0;yy+y1<=maxh;yy++){
if((a[x1-1][y1-1]+a[x1+xx][y1+yy]-a[x1-1][y1+yy]-a[x1+xx][y1-1])==((xx+1)*(yy+1))) ans++;
}
}
}
}
cout<<ans;
}
# | 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... |