⛔ 단순히 기록용 입니다... 어떻게 풀었는가 생각도 다시 해보고 그러니까 아마도 도움은 안되실 것 같습니다.
정답 비율이 33퍼센트정도 되길래, 와 문제 어려운 문제구나 실버 5인데도 이정도 정답률이면 배울 점이 많을 수 있겠다 싶어서 도전을 하게 되었습니다. 일단 기본적으로 입력값 10만으로 시작하기 때문에 특정 자료구조를 사용해야겠구만 하는 찰나에 큐가 생각이 났고, 그리고 읽어보면서 딱히 어려운 점이 없길래 그대로 구현을 시작했습니다.
그 결과 "맞았습니다"를 받게 되었고? 왜 어려웠을까 질문 게시판과 난이도 기여를 들어가보았더니 글을 잘못읽고 실수하신 분들이 많았습니다. 저는 운 좋게 한번에 이해를 해서 쉽게 풀이했습니다. 아래는 정답 코드입니다.
//https://www.acmicpc.net/problem/26042
#include<iostream>
#include<queue>
using namespace std;
int n,order,number;
pair<int,int> checkLine;
queue<int> line;
void pushLine(int student) {
line.push(student);
if(checkLine.first == line.size()){
if(checkLine.second > student){
checkLine.second = student;
}
} else if(checkLine.first < line.size()){
checkLine = {(int)line.size(), student};
}
}
void popLine() {
}
int main() {
checkLine = {0,0};
cin >> n;
for(int i = 0; i < n; i++){
cin >> order;
if(order == 1){
cin >> number;
pushLine(number);
} else{
line.pop();
}
}
cout << checkLine.first << " " << checkLine.second << "\n";
return 0;
}
'PS > BaekJoon' 카테고리의 다른 글
[C++/14402] 야근 (0) | 2024.08.31 |
---|---|
[C++/8891] 점 숫자 (0) | 2024.08.28 |
[C++/2594] 놀이공원 (0) | 2024.08.23 |
[C++/16958] 텔레포트 (0) | 2024.08.14 |
[C++/27210] 신을 모시는 사당 (0) | 2024.08.09 |