Submission #1012675

#TimeUsernameProblemLanguageResultExecution timeMemory
101267512345678Rectangles (IOI19_rect)C++17
37 / 100
5074 ms28304 KiB
#include "rect.h"
#include <bits/stdc++.h>

using namespace std;

long long count_rectangles(std::vector<std::vector<int> > a) {
	int n=a.size(), m=a[0].size();
	long long res=0;
	for (int r1=1; r1<n-1; r1++)
	{
		for (int c1=1; c1<m-1; c1++)
		{
			for (int r2=r1; r2<n-1; r2++)
			{
				vector<int> mx(n, 0);
				for (int c2=c1; c2<m-1; c2++)
				{
					int tmp=0, f=0;
					for (int i=r1; i<=r2; i++) tmp=max(tmp, a[i][c2]), mx[i]=max(mx[i], a[i][c2]);
					if (tmp>=a[r1-1][c2]||tmp>=a[r2+1][c2]) break;
					for (int i=r1; i<=r2; i++) if (mx[i]>=a[i][c2+1]||mx[i]>=a[i][c1-1]) f=1;
					//if (r1==4&&r2==4&&c1==2&&c2==3) cout<<"here "<<mx[r1]<<'\n';
					if (!f) res++; //cout<<"debug "<<r1<<' '<<c1<<' '<<r2<<' '<<c2<<'\n';
				}
			}
		}
	}
	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...