반응형
https://www.acmicpc.net/problem/17298
스택의 탑이 지금 입력받은 수보다 작다면, 스택의 탑에 입력된 수의 오큰수는 지금 입력 받은 수입니다.
#include <iostream>
#include <stack>
#include <cstring>
using namespace std;
int n, nge[1000000], a;
stack<pair<int, int>> stk;
int main() {
memset(nge, -1, sizeof(nge));
scanf("%d", &n);
for (int i = 0; i < n; i++) {
scanf("%d", &a);
while (!stk.empty() && a > stk.top().first) {
nge[stk.top().second] = a;
stk.pop();
}
stk.push({ a, i });
}
for (int i = 0; i < n; i++) printf("%d ", nge[i]);
}
반응형
'Algorithm' 카테고리의 다른 글
백준 11779 : 최소비용 구하기 2 (0) | 2021.11.15 |
---|---|
백준 2075 : N번째 큰 수 (0) | 2021.11.15 |
백준 1918 : 후위 표기식 (0) | 2021.11.15 |
백준 12899 : 데이터 구조 (0) | 2021.11.15 |
백준 11505 : 구간 곱 구하기 (0) | 2021.11.15 |