Submission #426816

#TimeUsernameProblemLanguageResultExecution timeMemory
426816dreezyRectangles (IOI19_rect)C++17
0 / 100
1 ms332 KiB
#include "rect.h"
#include <bits/stdc++.h>

using namespace std;
#define ll long long
long long count_rectangles(vector<vector<int> > a) {
	int n = a.size();
	int m = a[0].size();
	
	ll ans = 0;
	ll curstreak =0;
	for(int i =1; i<n-1 ;i++){
		//cout << i <<": "<<endl;
		int leftind = 0;
		for(int j =1 ;j <m-1; j++){
			int cnt = 0;
			//cout << a[i][j]<<", "<<leftind<< ": "<<a[leftind][j]<<endl;
			if(a[i][leftind] <= a[i][j]){
				leftind = j -1;
			}
			if(a[i-1][j] > a[i][j]){}
				cnt++;
			if(a[i+1][j] > a[i][j])
				cnt++;
			if(a[i][leftind] > a[i][j])
				cnt++;
			if(a[i][j+1] > a[i][j])
				cnt++;
				
				
			if(cnt == 4){
				curstreak++;
				ans+= curstreak * (curstreak + 1)/2;
			}
			else if(a[leftind][j] >= a[i][j]){
				curstreak++;
			}
			else{
				curstreak = 0;
			}
		}
	}
	return ans;
}
/**************/
#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...