Submission #826920

#TimeUsernameProblemLanguageResultExecution timeMemory
826920vjudge1Rectangles (IOI19_rect)C++17
10 / 100
9 ms344 KiB
#include<bits/stdc++.h>
#include "rect.h"

using namespace std;

#define all(x) x.begin(), x.end()
#define pb push_back
#define ll long long
#define vout(v) for(int i=0; i<v.size(); i++) cout<<v[i]<<' ';
                                    
int a[3000][3000];

long long count_rectangles(vector<vector<int> > S){
	int n=S.size(), m=S[0].size();
	for(int i=1; i<=n; i++){
		for(int j=1; j<=m; j++){
			a[i][j] = S[i-1][j-1];
		}
	}
	if(n <= 2 or m <= 2){
		return 0;
	}
	if(n <= 3){
		ll ans=0;
		for(int i=1; i<m-1; i++){
			int mx=a[2][i+1];
			int ok = (a[2][i+1] < a[1][i+1] and a[2][i+1] < a[3][i+1]);
			for(int j=i+2; j<=m; j++){
				
				if(min(a[2][i], a[2][j]) > mx and ok){
					ans++;
				}
				mx = max(mx, a[2][j]);
				ok = (ok and (a[2][j] < a[1][j] and a[2][j] < a[3][j]));
			}
		}
		return ans;
	}
}




Compilation message (stderr)

rect.cpp: In function 'long long int count_rectangles(std::vector<std::vector<int> >)':
rect.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type]
   39 | }
      | ^
#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...