#include #include using namespace std; const int N = 200010; int n, a[N], dp[N], ans; int main() { // freopen("score.in", "r", stdin); // freopen("score.out", "w", stdout); scanf("%d", &n); for (int i = 1; i <= n; ++i) scanf("%d", &a[i]); for (int i = 1; i <= n; ++i) { if (a[i] >= i) { int idx = upper_bound(dp + 1, dp + ans + 1, a[i] - i) - dp; dp[idx] = a[i] - i; ans = max(ans, idx); } } printf("%d\n", n - ans); return 0; }