π»
[λ°±μ€] μ°μ μμ ν - 11279. μ΅λ ν λ³Έλ¬Έ
[λ°±μ€] μ°μ μμ ν - 11279. μ΅λ ν
λν¨λ 2020. 2. 18. 18:14λ¬Έμ
λ리 μ μλ €μ§ μλ£κ΅¬μ‘° μ€ μ΅λ νμ΄λΌλ κ²μ΄ μλ€. μ΅λ νμ μ΄μ©νμ¬ λ€μκ³Ό κ°μ μ°μ°μ μ§μνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
- λ°°μ΄μ μμ°μ xλ₯Ό λ£λλ€.
- λ°°μ΄μμ κ°μ₯ ν° κ°μ μΆλ ₯νκ³ , κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ€.
νλ‘κ·Έλ¨μ μ²μμ λΉμ΄μλ λ°°μ΄μμ μμνκ² λλ€.
μ λ ₯
첫째 μ€μ μ°μ°μ κ°μ N(1≤N≤100,000)μ΄ μ£Όμ΄μ§λ€. λ€μ Nκ°μ μ€μλ μ°μ°μ λν μ 보λ₯Ό λνλ΄λ μ μ xκ° μ£Όμ΄μ§λ€. λ§μ½ xκ° μμ°μλΌλ©΄ λ°°μ΄μ xλΌλ κ°μ λ£λ(μΆκ°νλ) μ°μ°μ΄κ³ , xκ° 0μ΄λΌλ©΄ λ°°μ΄μμ κ°μ₯ ν° κ°μ μΆλ ₯νκ³ κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ κ²½μ°μ΄λ€. μ λ ₯λλ μμ°μλ 2^31λ³΄λ€ μλ€.
μΆλ ₯
μ λ ₯μμ 0μ΄ μ£Όμ΄μ§ νμλ§νΌ λ΅μ μΆλ ₯νλ€. λ§μ½ λ°°μ΄μ΄ λΉμ΄ μλ κ²½μ°μΈλ° κ°μ₯ ν° κ°μ μΆλ ₯νλΌκ³ ν κ²½μ°μλ 0μ μΆλ ₯νλ©΄ λλ€.
μμ μ λ ₯1
13
0
1
2
0
0
3
2
1
0
0
0
0
0
μμ μΆλ ₯1
0
2
1
3
2
1
0
0
μκ°
λΌμ΄λΈλ¬λ¦¬ μ¨μ ν리λ κ°λ¨ν λ¬Έμ μ§λ§ ν λ λ€μ μ 리νμ.
* μ°μ μμ νμ μ¬μ©
priority_queue<container> pq;
push(element) : μ°μ μμ νμ μμ μΆκ°
pop() : μ°μ μμ νμμ topμμλ₯Ό μμ
top() : topμ μλ μμ λ°ν
empty() : λΉμ΄μμΌλ©΄ true, μλλ©΄ false
size() : μ°μ μμ νμ ν¬ν¨λμ΄ μλ μμλ€μ μλ₯Ό λ°ν
μμ±ν μ½λ
#include <iostream>
#include <queue>
using namespace std;
int main(int argc, const char * argv[]) {
// insert code here...
ios_base::sync_with_stdio(false);
cin.tie(0);
priority_queue<int> pq;
int n,x;
cin >> n;
for(int i=0; i<n; i++){
cin >> x;
if(x>0){
pq.push(x);
}else if(x==0){
if(pq.empty()){// λ°°μ΄μ΄ λΉμ΄μλ κ²½μ°
cout << 0 << "\n";
}else{
cout << pq.top() << "\n";
pq.pop();
}
}
}
}
'μκ³ λ¦¬μ¦ > λ¬Έμ νμ΄ Baekjoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] λμ κ³νλ² - 9461. νλλ° μμ΄ (0) | 2020.02.20 |
---|---|
[λ°±μ€] μ°μ μμ ν - 1927. μ΅μ ν (0) | 2020.02.19 |
[λ°±μ€] 그리λμκ³ λ¦¬μ¦ - 1543. λ¬Έμκ²μ (0) | 2020.02.18 |
[λ°±μ€] λμ κ³νλ² - 2293. λμ 1 (0) | 2020.02.17 |
[λ°±μ€] 그리λ - 1202. 보μλλ (0) | 2020.02.13 |