https://www.acmicpc.net/problem/11286
λ¬Έμ
μ λκ° νμ λ€μκ³Ό κ°μ μ°μ°μ μ§μνλ μλ£κ΅¬μ‘°μ΄λ€.
- λ°°μ΄μ μ μ x (x ≠ 0)λ₯Ό λ£λλ€.
- λ°°μ΄μμ μ λκ°μ΄ κ°μ₯ μμ κ°μ μΆλ ₯νκ³ , κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ€. μ λκ°μ΄ κ°μ₯ μμ κ°μ΄ μ¬λ¬κ°μΌ λλ, κ°μ₯ μμ μλ₯Ό μΆλ ₯νκ³ , κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ€.
νλ‘κ·Έλ¨μ μ²μμ λΉμ΄μλ λ°°μ΄μμ μμνκ² λλ€.
μ λ ₯
첫째 μ€μ μ°μ°μ κ°μ N(1≤N≤100,000)μ΄ μ£Όμ΄μ§λ€. λ€μ Nκ°μ μ€μλ μ°μ°μ λν μ 보λ₯Ό λνλ΄λ μ μ xκ° μ£Όμ΄μ§λ€. λ§μ½ xκ° 0μ΄ μλλΌλ©΄ λ°°μ΄μ xλΌλ κ°μ λ£λ(μΆκ°νλ) μ°μ°μ΄κ³ , xκ° 0μ΄λΌλ©΄ λ°°μ΄μμ μ λκ°μ΄ κ°μ₯ μμ κ°μ μΆλ ₯νκ³ κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ κ²½μ°μ΄λ€. μ λ ₯λλ μ μλ -231λ³΄λ€ ν¬κ³ , 231λ³΄λ€ μλ€.
μΆλ ₯
μ λ ₯μμ 0μ΄ μ£Όμ΄μ§ νμλ§νΌ λ΅μ μΆλ ₯νλ€. λ§μ½ λ°°μ΄μ΄ λΉμ΄ μλ κ²½μ°μΈλ° μ λκ°μ΄ κ°μ₯ μμ κ°μ μΆλ ₯νλΌκ³ ν κ²½μ°μλ 0μ μΆλ ₯νλ©΄ λλ€.
μ°μ μμ νλ‘ ν΄κ²°ν΄μΌ νλ λ¬Έμ μ λλ€.
νκ°μ§ μ μν μ μ,
λμ νμ΄
#include <iostream>
#include <string>
#include <queue>
#include <vector>
using namespace std;
struct comp{
bool operator()(int a,int b){
// μλ μ°μ μμνλ κ°μ₯ ν° μκ° top.
// topμ κ°μ₯ μμ μκ° μμΌνλ―λ‘ λ΄λ¦Όμ°¨μ μ λ ¬
if(abs(a)==abs(b)){
return a > b;
}
else
return abs(a) > abs(b);
}
};
int main(){
priority_queue< int, vector<int>, comp > pq;
int n;
int x;
cin >> n;
for (int i = 0; i < n; ++i){
cin >> x;
if(x == 0){
if(pq.empty()) cout << 0 << '\n';
else {
cout << pq.top() << '\n';
pq.pop();
}
}
else pq.push(x);
}
}
'π μκ³ λ¦¬μ¦ > BOJ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[C++/BOJ] 1417 : κ΅νμμ μ κ±° (μλ£κ΅¬μ‘°) (1) | 2023.05.06 |
---|---|
[C++/BOJ] 9012 : κ΄νΈ (μλ£κ΅¬μ‘°) (1) | 2023.05.06 |
[C++/BOJ] 5430 : AC (μλ£κ΅¬μ‘°) (0) | 2023.05.02 |
[C++/BOJ] 7576 : ν λ§ν (bfs/dfs) (0) | 2023.04.14 |
[C++/BOJ] 1107 : 리λͺ¨μ»¨ (μμ νμ) (0) | 2023.04.14 |