#include <bits/stdc++.h>
using namespace std;
int main() {
  vector<int> a;
  int na;
  cin >> na;
  for (int i = 0; i < na; i++) {
    int k;
    cin >> k;
    a.push_back(k);
  }
  int Max = a[0];
  int PositonMax = 0;
  int Min = a[0];
  int PositonMin = 0;
  for (int i = 0; i < na; i++) {
    if (Max < a[i]) {
      Max = a[i];
      PositonMax = i;
    }
    if (Min > a[i]) {
      Min = a[i];
      PositonMin = i;
    }
  }
  float Mid = 1.0 * na / 2;
  int PosMax = PositonMax > PositonMin ? PositonMax : PositonMin;
  int PosMin = PositonMax < PositonMin ? PositonMax : PositonMin;
  if (PosMax == na - 1 || PosMin == 0) {
    cout << na - 1;
  } else if (PosMax <= Mid || PosMax - Mid < Mid - PosMin) {
    cout << na - 1 - PosMin;
  } else {
    cout << PosMax;
  }
  return 0;
}
