#include <bits/stdc++.h>
using namespace std;
#define ll long long int
int g[105][105] = { }, a[105][105] = { };
int main() {
int n; cin >> n;
vector<ll> h(n+5), w(n+5);
for (int i = 1; i <= n; i++) cin >> h[i];
for (int i = 1; i <= n; i++) cin >> w[i];
ll cur = 0;
for (int id = 1; id <= n; id++) {
for (int i = cur+1; i <= cur + w[id]; i++) {
for (int j = 1; j <= h[id]; j++) {
g[i][j] = 1;
}
}
cur += w[id];
}
a[0][0] = 0;
for (int i = 1; i < 105; i++) {
a[0][i] = a[0][i-1] + g[0][i];
a[i][0] = a[i-1][0] + g[i][0];
}
for (int i = 1; i < 105; i++) {
for (int j = 1; j < 105; j++) {
a[i][j] = a[i-1][j] + a[i][j-1] - a[i-1][j-1];
a[i][j] += g[i][j];
}
}
ll cnt = 0;
for (int rh = 1; rh <= 50; rh++) {
for (int rw = 1; rw <= 50; rw++) {
for (int x = 0; x + rh < 105; x++) {
for (int y = 0; y + rw < 105; y++) {
ll sum = a[x+rh][y+rw];
sum -= a[x][y+rw];
sum -= a[x+rh][y];
sum += a[x][y];
if (sum == rh * rw) {
cnt++;
}
}
}
}
}
cout << cnt;
return 0;
}
# | 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... |