제출 #841325

#제출 시각아이디문제언어결과실행 시간메모리
841325Lawliet축구 경기장 (IOI23_soccer)C++17
3.50 / 100
228 ms31696 KiB
#include "soccer.h" #include <bits/stdc++.h> using namespace std; bool checkIntervals(pair<int,int> a, pair<int,int> b) { if( a.first > b.first ) swap( a , b ); if( a.first == b.first ) return true; return b.second <= a.second; } bool isGood(int N, vector<vector<int>>& F) { vector<pair<int,int>> intervals; for(int i = 0 ; i < N ; i++) { int numCells = 0; int minCell = N, maxCell = -1; for(int j = 0 ; j < N ; j++) { if( F[i][j] == 0 ) { numCells++; minCell = min( minCell , j ); maxCell = max( maxCell , j ); } } if( numCells == 0 ) continue; if( numCells != maxCell - minCell + 1 ) return false; intervals.push_back( { minCell , maxCell } ); } return checkIntervals( intervals.front() , intervals.back() ); } int biggest_stadium(int N, vector<vector<int>> F) { if( !isGood(N, F) ) return -1; for(int i = 0 ; i < N ; i++) for(int j = 0 ; j < i ; j++) swap( F[i][j] , F[j][i] ); if( !isGood(N, F) ) return -1; int sum = 0; for(int i = 0 ; i < N ; i++) for(int j = 0 ; j < N ; j++) sum += 1 - F[i][j]; return sum; }
#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...