fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. int main() {
  5. // your code goes here
  6.  
  7. int x; cin >> x;
  8. vector<long long> v;
  9. int increasing = 1;
  10. long long prev = 0;
  11. long long peak = 0;
  12. long long lowestl = 0;
  13. long long hi = 0;
  14. while(x--) {
  15. long long y; cin>> y;
  16. v.push_back(y);
  17. }
  18. prev = v[0];
  19. lowestl = v[0];
  20.  
  21. for(int i = 1; i < v.size(); i++) {
  22. //cout << lowestl << " " << v[i] << endl;
  23. if(increasing) {
  24. if(v[i] >= prev) {
  25. peak = v[i];
  26. } else {
  27. increasing = 0;
  28. hi = max(hi, (long long) min(peak-lowestl, peak-v[i]));
  29. }
  30. } else {
  31. if(v[i] < prev) {
  32. // long long mi = min(peak-lowestl)
  33. hi = max(hi, (long long) min(peak-lowestl, peak-v[i]));
  34. } else {
  35. increasing = 1;
  36. peak = v[i];
  37. lowestl = prev;
  38. }
  39. }
  40. prev = v[i];
  41.  
  42. }
  43. cout << hi << endl;
  44.  
  45. return 0;
  46. }
Success #stdin #stdout 0.01s 5380KB
stdin
11
1 2 3 2 4 5 6 5 4 30 1
stdout
26