Advertisement
Promi_38

cf 451B

Sep 28th, 2021
96
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. #include<bits\stdc++.h>  
  2.  
  3. using namespace std;
  4.  
  5. int main()
  6. {
  7.     int n;
  8.     scanf("%d", &n);
  9.    
  10.     int a[n], b[n], i, j;
  11.     for(i = 0; i < n; i++)
  12.     {
  13.         scanf("%d", &a[i]);
  14.         b[i] = a[i];
  15.     }
  16.    
  17.     sort(b, b+n);
  18.    
  19.     int l = n, r = -1;
  20.     for(i = 0; i < n; i++)
  21.     {
  22.         if(a[i] != b[i])
  23.         {
  24.             l = i;
  25.             break;
  26.         }
  27.     }
  28.    
  29.     if(l == n)
  30.     {
  31.         printf("yes\n1 1\n");
  32.         return 0;
  33.     }
  34.    
  35.     for(i = n-1; i >= 0; i--)
  36.     {
  37.         if(a[i] != b[i])
  38.         {
  39.             r = i;
  40.             break;
  41.         }
  42.     }
  43.    
  44.     for(i = l, j = r; i <= (r + l) / 2; i++, j--)
  45.     {
  46.         int t = a[i];
  47.         a[i] = a[j];
  48.         a[j] = t;
  49.     }
  50.     /*for(i = 0; i < n; i++) printf("%d ", a[i]);
  51.     printf("\n");
  52.     for(i = 0; i < n; i++) printf("%d ", b[i]);*/
  53.     for(i = l; i <= r; i++)
  54.     {
  55.         if(a[i] != b[i])
  56.         {
  57.             printf("no\n");
  58.             return 0;
  59.         }
  60.     }
  61.     printf("yes\n");
  62.     printf("%d %d\n", l+1, r+1);
  63.    
  64. }
  65.  
  66.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement