제출 #960617

#제출 시각아이디문제언어결과실행 시간메모리
960617vjudge1Rectangles (IOI19_rect)C++17
37 / 100
5094 ms40864 KiB
#include "rect.h" #include <bits/stdc++.h> #define ll long long using namespace std; const int N = 2505; int n,m; int A[N][N]; bool yes[N]; int mx[N]; int f(int x,int y){ for(int j = y;j<m;j++){ yes[j] = true; mx[j] = A[x][j]; } int res = 0; for(int i = x;i<n;i++){ int rmx = 0; for(int j = y;j<m;j++){ rmx = max(rmx, A[i][j]); yes[j] &= (rmx < A[i][y-1] && rmx < A[i][j+1]); } for(int j = y;j<m;j++)mx[j] = max(mx[j], A[i][j]); for(int j = y;j<m;j++){ if(mx[j] >= A[i+1][j])break; if(mx[j] >= A[x-1][j])break; if(yes[j])res++; } } return res; } ll count_rectangles(vector<vector<int> > a) { n = a.size(); m = a[0].size(); for(int i = 1;i<=n;i++){ for(int j = 1;j<=m;j++){ A[i][j] = a[i-1][j-1]; } } int res = 0; for(int i = 2;i<n;i++){ for(int j = 2;j<m;j++){ res += f(i, j); } } return res; }
#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...