백준알고리즘

오큰수

먼지의삶 2019. 9. 8. 15:10

 

어려웠다

#include<stack>
#include<iostream>
#include<vector>

using namespace std;

int main(){
	ios_base::sync_with_stdio(0); 
    cin.tie(0);
    cout.tie(0);
    
	int n; 
    cin >> n;
	vector<int> v(n), ans(n);
	
    for(int i=0; i<n; i++) cin >> v[i];

	stack<int> stk; stk.push(1e9+7);
    
	for(int i=n-1; i>=0; i--){
		while(stk.top() <= v[i]) stk.pop();
		if(stk.top() >= 1e9) ans[i] = -1;
		else ans[i] = stk.top();
		stk.push(v[i]);
	}
	for(auto i : ans) cout << i << " ";
}