# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
92664 | 2019-01-04T09:45:54 Z | GioChkhaidze | Money (IZhO17_money) | C++14 | 2 ms | 376 KB |
#include <bits/stdc++.h> using namespace std; int n,a[1000006],f[1000006],fix[1000006],Ans; set < int > st; void go(int x,int idx) { int ko=0; Ans++; fix[x]=1; st.insert(x); for (int i=idx+1; i<=n; i++) { if (fix[a[i]] || a[i]<x) break; if (st.upper_bound(x)==st.end() || a[i]<*st.upper_bound(x)) { fix[a[i]]=1; st.insert(a[i]); x=a[i]; } else break; } } main () { ios::sync_with_stdio(false); cin>>n; for (int i=1; i<=n; i++) { cin>>a[i]; f[a[i]]=i; } for (int i=1; i<=n; i++) { if (!fix[i]) go(i,f[i]); /* for (int j=1; j<=n; j++) cout<<fix[j]<<" "; cout<<endl;*/ } cout<<Ans<<endl; } /* 10 1 4 6 2 3 7 10 8 9 5 | 1 4 6 | 2 3 | 7 10 | 8 9 | 5 | 6 3 6 4 5 1 2 */
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Incorrect | 2 ms | 376 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Incorrect | 2 ms | 376 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Incorrect | 2 ms | 376 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 2 ms | 376 KB | Output is correct |
2 | Correct | 2 ms | 376 KB | Output is correct |
3 | Correct | 2 ms | 376 KB | Output is correct |
4 | Incorrect | 2 ms | 376 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |