#include "soccer.h"
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef pair<ll,int> pli;
typedef vector<int> vi;
typedef vector<ll> vl;
#define all(x) x.begin(), x.end()
#define sz(x) (int)x.size()
#define pb push_back
#define mk make_pair
#define fr first
#define sc second
int biggest_stadium(int N, vector<vi> F) {
int empty_cells = 0, M = 0;
vi L(N,N+1), R(N,-1);
int T = 0, s = -1, e = -1;
for(int i = 0; i < N; i++) {
for(int j = 0; j < N; j++){
if(F[i][j]) continue;
empty_cells++;
L[i] = min(L[i], j);
R[i] = j;
}
if(L[i] < L[M]) M = i;
if(L[i] == L[M] and R[i] > R[M]) M = i;
if(s == -1 and R[i] != -1) s = i;
if(R[i] != -1) e = i, T += R[i] - L[i] + 1;
}
vector<pii> a;
for(int i = s; i < M; i++) {
if(L[i] < L[i+1]) return 0;
if(R[i] > R[i+1]) return 0;
a.pb({L[i], -R[i]});
}
for(int i = M+1; i < e; i++) {
if(L[i-1] > L[i]) return 0;
if(R[i-1] < R[i]) return 0;
a.pb({L[i], -R[i]});
}
sort(all(a));
for(int i = 0; i < sz(a); i++) a[i].sc *= -1;
for(int i = 0; i+1 < sz(a); i++) {
if(a[i].sc < a[i+1].sc) return 0;
}
return T;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |