제출 #427084

#제출 시각아이디문제언어결과실행 시간메모리
427084dreezyRectangles (IOI19_rect)C++17
0 / 100
70 ms22676 KiB
#include "rect.h"
#include <bits/stdc++.h>

using namespace std;
#define ll long long



/*subtask 5: debug*/

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++){
		int leftind = 0;
		for(int j =1 ;j <m-1; j++){
			int cnt = 0;
			//cout << a[i][j]<<", "<<leftind<< ": "<<a[i][leftind]<<endl;
			bool pos = true;

			if(a[i-1][j] > a[i][j])
				cnt++;
			else
				pos = false;
			if(a[i+1][j] > a[i][j])
				cnt++;
			else
				pos = false;
			if(a[i][leftind] > a[i][j])
				cnt++;
			if(a[i][j+1] > a[i][j])
				cnt++;
				
			if(pos)
				curstreak++;
			else{
				curstreak = 0;
				leftind = j;
			}
				
			//cout << pos<<" & "<<cnt<<" : "<<curstreak<<endl;
			if(cnt == 4){
				for(int ii = leftind+1; ii < j; ii++){
					if(a[i][leftind] >= a[i][j]+1){
						curstreak--;
						leftind = ii + 1;
					}
				}
				ans+= curstreak;
			}
		}
	}
	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...