fork download
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int a[200006];
  5.  
  6. // int bm(int d, int index){
  7. // int temp = d;
  8. // for(int i = index; i <= temp; i++){
  9. // if(a[i] > temp){
  10. // temp = a[i];
  11. // }
  12. // }
  13. // }
  14.  
  15. int main() {
  16. int n; cin>>n;
  17. for(int i = 1; i <= n; i++){
  18. cin>>a[i];
  19. }
  20. int cnt = 0;
  21. int t = 1;
  22. while(t <= n){
  23. if(a[t] == t){
  24. cnt++;
  25. t++;
  26. }else
  27. if(a[t] != t){
  28. int temp = a[t];
  29. for(int j = t; j <= temp; j++){
  30. if(a[j] > temp){
  31. temp = a[j];
  32. }
  33. }
  34. t = temp;
  35. }
  36. }
  37. cout<<cnt;
  38. return 0;
  39. }
Success #stdin #stdout 0s 16016KB
stdin
8
7 2 3 4 5 6 8 8
stdout
1