# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
92685 | 2019-01-04T10:15:16 Z | GioChkhaidze | Money (IZhO17_money) | C++14 | 4 ms | 376 KB |
#include <bits/stdc++.h> #define F first #define S second using namespace std; int n,a[1000006],fix[1000006],Ans; pair < int , int > p [1000006]; set < int > st; void go(int x,int idx) { int ko=0,ID=idx; Ans++; fix[idx]=1; for (int i=idx+1; i<=n; i++) { if (a[i]<x) break; if (st.upper_bound(x)==st.end() || a[i]<=*st.upper_bound(x)) { fix[i]=1; ID=i; x=a[i]; } else break; } for (int i=idx; i<=ID; i++) st.insert(a[i]); } main () { ios::sync_with_stdio(false); cin>>n; for (int i=1; i<=n; i++) { cin>>a[i]; p[i].F=a[i]; p[i].S=i; } sort(p+1,p+n+1); for (int i=1; i<=1000000; i++) { if (!fix[p[i].S]) go(p[i].F,p[i].S); /* 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 5 1 3 5 2 4 8 1 3 2 4 5 8 7 6 5 2 3 5 3 5 4 2 2 2 2 4 3 5 3 5 */
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 4 ms | 376 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |