fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. const int MaxN=1e6;
  4. int n;
  5. int s[MaxN];
  6. int id[MaxN];
  7. int main() {
  8. ios::sync_with_stdio(0);
  9. cin.tie(0); cout.tie(0);
  10. cin>>n;
  11. for(int i=0;i<n;i++){
  12. cin>>s[i];
  13. }
  14. iota(id,id+n,0);
  15. sort(id,id+n,[](int lhs,int rhs){
  16. return (s[lhs]!=s[rhs])?s[lhs]<s[rhs]:lhs<rhs;
  17. });
  18. int ans=1,far=-1,dis=-1,fin=-1;
  19. for(int i=0;i<n;i++){
  20. //cout<<i<<" dis:"<<dis<<" / s[id[i]]:"<<s[id[i]]<<endl;
  21. if(dis==0){
  22. //cout<<" ------ "<<endl;
  23. ans++;
  24. }
  25. if(far<id[i]){
  26. //cout<<i<<" "<<s[id[i]]<<endl;
  27. far=id[i];//最遠的數字
  28. dis=id[i]-fin;
  29. }
  30. dis--;
  31. fin++;
  32.  
  33. }
  34. cout<<ans;
  35. return 0;
  36. }
Success #stdin #stdout 0.01s 5652KB
stdin
7
1 2 3 4 5 7 6
stdout
6