답안 #169789

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
169789 2019-12-22T21:08:06 Z super_j6 Money (IZhO17_money) C++14
0 / 100
3 ms 508 KB
#include <iostream>
#include <cstdio>
#include <algorithm>
#include <stack>
using namespace std;
#define endl '\n'
#define pi pair<int, int>

const int maxn = 1000000;
int n;
pi a[maxn];
bool used[maxn];
stack<int> stk;

int main(){
	ios::sync_with_stdio(false);
	cin.tie(NULL);
	
	cin >> n;
	
	for(int i = 0; i < n; i++){
		cin >> a[i].first;
		a[i].second = i;
	}
	
	sort(a, a + n);
	
	int ret = 0;
	for(int i = 0; i < n; i++){
		if(stk.empty() || !a[i].second || !used[a[i].second - 1]){
			stk.push(a[i].second);
			used[a[i].second] = 1;
		}else{
			while(stk.top() != a[i].second - 1){
				used[stk.top()] = 1;
				stk.pop();
				ret++;
			}
			used[stk.top()] = 0;
			stk.pop();
			stk.push(a[i].second);
			used[a[i].second] = 1;
		}
	}
	
	ret += stk.size();
	cout << ret << endl;

	return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Runtime error 3 ms 508 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Runtime error 3 ms 508 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Runtime error 3 ms 508 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 376 KB Output is correct
2 Runtime error 3 ms 508 KB Execution killed with signal 11 (could be triggered by violating memory limits)
3 Halted 0 ms 0 KB -