제출 #841558

#제출 시각아이디문제언어결과실행 시간메모리
841558Lawliet축구 경기장 (IOI23_soccer)C++17
컴파일 에러
0 ms0 KiB
#include "soccer.h" // #include <bits/stdc++.h> using namespace std; int size(pair<int,int> a) { return a.second - a.first + 1; } bool checkIntervals(pair<int,int> a, pair<int,int> b) { return (b.first <= a.first && a.second <= b.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 } ); } int p = 0; while( p + 1 < (int)intervals.size() && size(intervals[p]) <= size(intervals[p + 1]) ) p++; while( p + 1 < (int)intervals.size() && size(intervals[p]) >= size(intervals[p + 1]) ) p++; if( p != (int)intervals.size() - 1 ) return false; sort( intervals.begin() , intervals.end() , [&](pair<int,int> a, pair<int,int> b){ return size(a) < size(b); }); for(int i = 0 ; i + 1 < (int)intervals.size() ; i++) if( !checkIntervals( intervals[i] , intervals[i + 1] ) ) return false; return true; } int biggest_stadium(int N, vector<vector<int>> F) { 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; }

컴파일 시 표준 에러 (stderr) 메시지

soccer.cpp: In function 'bool isGood(int, std::vector<std::vector<int> >&)':
soccer.cpp:48:5: error: 'sort' was not declared in this scope; did you mean 'short'?
   48 |     sort( intervals.begin() , intervals.end() , [&](pair<int,int> a, pair<int,int> b){
      |     ^~~~
      |     short