답안 #332391

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
332391 2020-12-02T08:00:50 Z Bill_00 Money (IZhO17_money) C++14
0 / 100
1 ms 384 KB
#include <bits/stdc++.h>
#define MOD 1000000007
typedef long long ll;
using namespace std;
int a[1000001],b[1000001],pre[1000001],nex[1000001],cnt[1000001];
int main() {
	ios_base::sync_with_stdio(NULL);
	cin.tie(NULL);
	cout.tie(NULL);
	int n;
	cin >> n;
	for(int i=1;i<=n;i++){
		cin >> a[i];
		cnt[a[i]]++;
		b[i]=a[i];
	}
	sort(b+1,b+n+1);
	for(int i=2;i<=n;i++){
		if(b[i]!=b[i-1]){
			pre[b[i]]=b[i-1];
		}
	}
	for(int i=1;i<n;i++){
		if(b[i]!=b[i+1]){
			nex[b[i]]=b[i+1];
		}
	}
	int i=n,ans=0,d;
	for(;i>=1;i--){
		d=0;
		while(d==0 || pre[a[i+1]]==a[i] || a[i+1]==a[i]){
			if(i==0) break;
			d++;
			cnt[a[i]]--;
			if(cnt[a[i]]==0){
				pre[nex[a[i]]]=pre[a[i]];
				nex[pre[a[i]]]=nex[a[i]];
			}
			i--;
		}
		ans++;
	}
	cout << ans;

}
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 1 ms 384 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 1 ms 384 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 1 ms 384 KB Output isn't correct
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 364 KB Output is correct
2 Incorrect 1 ms 384 KB Output isn't correct
3 Halted 0 ms 0 KB -