Submission #1225503

#TimeUsernameProblemLanguageResultExecution timeMemory
1225503mariaclaraSoccer Stadium (IOI23_soccer)C++20
0 / 100
0 ms328 KiB
#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; vi L(N,N+1), R(N,-1); int M = 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; } 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 empty_cells; }
#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...