fork download
  1. #define _CRT_SECURE_NO_WARNINGS
  2. #include <iostream>
  3. #include<bits/stdc++.h>
  4. #define ll long long
  5. #include<algorithm>
  6. #include<deque>
  7. #include<stack>
  8. #include<queue>
  9. using namespace std;
  10. int main(){
  11. std::ios_base::sync_with_stdio(0);
  12. cin.tie(NULL);
  13. cout.tie(NULL);
  14. int n;cin>>n;
  15. int a[n];
  16. deque<int> q2;
  17. deque<int>q3;
  18. for(int i=1;i<=n;i++){
  19. cin>>a[i];//1 3 5 4 2
  20. q3.push_back(a[i]);
  21. }
  22. int j=0;
  23. for(int i=1;i<=n;i++){
  24. if(a[j]==i+1){j++;q3.pop_front();}
  25. else q2.push_front(i);
  26. }
  27. //for(int i=0;i<q3.size();i++)cout<<q3[i]<<' ';// 4 2
  28. //cout<<"\n";
  29. //for(int i=0;i<q2.size();i++)cout<<q2[i]<<' ';
  30. for(int i=1;i<=q2.size();i++){
  31. if(q2[i]!=q3[i]){cout<<"NO\n";return 0;}
  32. }
  33. cout<<"YES\n";
  34. return 0;}
Success #stdin #stdout 0s 5248KB
stdin
Standard input is empty
stdout
NO