제출 #1290735

#제출 시각아이디문제언어결과실행 시간메모리
1290735enzyRectangles (IOI19_rect)C++20
0 / 100
1 ms340 KiB
#include "rect.h" #include<bits/stdc++.h> #define ll long long using namespace std; const ll maxn=2502; int val[maxn][maxn], v[maxn], pref[maxn], suf[maxn]; ll solve(int l, int r){ pref[l-1]=suf[r+1]=0; for(int i=l;i<=r;i++) pref[i]=max(pref[i-1],v[i]); for(int i=r;i>=l;i--) suf[i]=max(suf[i+1],v[i]); ll ret=0; for(int i=l;i<=r;i++) if(pref[i]!=v[i]&&suf[i]!=v[i]) ret++; return ret; } ll count_rectangles(vector<vector<int> > a){ int n=a.size(), m=a[0].size(); for(int i=0;i<n;i++) for(int j=0;j<m;j++) val[i+1][j+1]=a[i][j]; if(min(n,m)<3) return 0; for(int i=1;i<=m;i++) v[i]=val[2][i]; int last=0; ll resp=0; for(int i=1;i<=m;i++){ if(val[2][i]>=min(val[1][i],val[3][i])){ resp+=solve(last+1,i-1); last=i; } } resp+=solve(last+1,m); return resp; }
#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...