Submission #1064440

#TimeUsernameProblemLanguageResultExecution timeMemory
1064440ArapakRectangles (IOI19_rect)C++17
37 / 100
5075 ms28292 KiB
// Author: Kajetan Ramsza #include "rect.h" #include "bits/stdc++.h" using namespace std; #define rep(i,a,b) for(int i=(a);i<(b);++i) #define all(x) begin(x), end(x) #define sz(x) (int)x.size() typedef vector<int> vi; typedef pair<int,int> pii; typedef long long ll; #ifdef DEBUG auto& operator<<(auto& os, const pair<auto, auto> &p); auto& operator<<(auto &os, const auto &v) { os<<"{"; for(auto it=begin(v);it!=end(v);++it) { if(it != begin(v)) { os<<", "; } os<<(*it); } return os<<"}"; } auto& operator<<(auto &os, const pair<auto, auto> &p) { return os<<"("<<p.first<<", "<<p.second<<")"; } void dbg_out(auto... x) { ((cerr<<' '<<x), ...) << endl; } #define dbg(x...) cerr<<"("<<#x<<"):", dbg_out(x) #else #define dbg(...) #endif int n, m; bool check(vector<vi> &a, int x1, int x2, int y1, int y2) { assert(0 < x1 && x1 < x2 && x2 < n); assert(0 < y1 && y1 < y2 && y2 < m); rep(i,x1,x2) rep(j,y1,y2) if(a[x1-1][j] <= a[i][j] || a[x2][j] <= a[i][j] || a[i][y1-1] <= a[i][j] || a[i][y2] <= a[i][j]) return false; return true; } ll count_rectangles(vector<vi> a) { n = sz(a); m = sz(a[0]); ll res = 0; rep(x1,1,n) rep(x2,x1+1,n) rep(y1,1,m) rep(y2,y1+1,m) res += check(a,x1,x2,y1,y2); 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...