제출 #844914

#제출 시각아이디문제언어결과실행 시간메모리
844914coding_snorlax축구 경기장 (IOI23_soccer)C++17
1.50 / 100
252 ms32024 KiB
#include<bits/stdc++.h> #include "soccer.h" using namespace std; pair<int,int> process(vector<int> S){ int L=-1,R=-1,flag = 1; for(int i=0;i<(int)S.size();i++){ if(!S[i] && L==-1){ L = i; R = i; } else if(!S[i] && R==i-1){ R=i; } else if(!S[i]){ flag = 0; } } if(!flag) return make_pair(-2,-2); return make_pair(L,R); } int check_Left(vector<int> List){ int answer=1,down=0,flag = 0, Last = -1 , next_level = 0; for(int i:List){ if(i==-2) answer=0; else if(i==-1 && Last!=-1) flag = 1; else{ if(flag) answer = 0; if(Last==-1) Last = i; else{ if(i>Last && next_level==0) next_level = 1; else if(i<Last && next_level==1) answer = 0; } Last = i; } } if(down > 1 || answer==0) return 0; else return 1; } int check_Right(vector<int> List){ int answer=1,down=0,flag = 0, Last = -1 , next_level = 0; for(int i:List){ if(i==-2) answer=0; else if(i==-1 && Last!=-1) flag = 1; else{ if(flag) answer = 0; if(Last==-1) Last = i; else{ if(i<Last && next_level==0) next_level = 1; else if(i>Last && next_level==1) answer = 0; } Last = i; } } if(down > 1 || answer==0) return 0; else return 1; } int biggest_stadium(int N,vector<vector<int>> F){ vector<int> a; vector<int> b; int Count = 0; for(auto i:F){ for(int j:i){ if(j==0) Count++; } pair<int,int> tmp = process(i); a.push_back(tmp.first); b.push_back(tmp.second); } if(check_Left(a) && check_Right(b)) return Count; else return 0; }
#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...