#include #include using std::cin; using std::cout; const char endl = '\n'; const int N = 1e5 + 5; int n, a[N], b[N]; std::vector> ans; int main() { std::ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n; for (int i = 1; i <= n; i++) { cin >> a[i]; b[i] = a[i] - a[i - 1]; } b[n + 1] = -a[n]; for (int i = 1, j = 1; i <= n + 1; i++) { while (b[i] < 0) { while (j < i && b[j] <= 0) j++; b[j]--, b[i]++; ans.emplace_back(j, i - 1); } } cout << ans.size() << endl; for (const auto &e : ans) { cout << e.first << ' ' << e.second << endl; } return 0; }