fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. int n;
  6. cin>>n;
  7. int a[n+3],l[n+3],r[n+3];
  8. a[0]=INT_MAX;
  9. a[n]=INT_MAX;
  10.  
  11. for(int i=1;i<=n;i++)cin>>a[i];
  12. n+=2;
  13. if(n==1){cout<<"1";return 0;}
  14. r[n-1]=n-1;
  15. for(int i=n-2;i>=0;i--)
  16. {
  17. if(a[i]<a[i+1])
  18. {
  19. r[i]=i+1;
  20. }
  21. else
  22. {
  23. r[i]=r[i+1];
  24. }
  25. }
  26. l[0]=0;
  27. for(int i=1;i<n;i++)
  28. {
  29. if(a[i-1]>a[i])
  30. {
  31. l[i]=i-1;
  32. }
  33. else
  34. {
  35. l[i]=l[i-1];
  36. }
  37. }
  38. for(int i=0;i<n;i++)cout<<l[i]<<" ";cout<<"\n";
  39. for(int i=0;i<n;i++)cout<<r[i]<<" ";cout<<"\n";
  40. int ans=INT_MIN;
  41. for(int i=1;i<=n;i++)ans=max(ans,r[i]-l[i]);
  42. cout<<ans;
  43. return 0;
  44. }
Success #stdin #stdout 0s 15232KB
stdin
3
3 2 1
stdout
0 0 1 2 3 
4 4 4 4 4 
32767