#include #include #include using namespace std; const int N = 200010, INF = 0x3f3f3f3f; int n, f[N], ma; int main() { scanf("%d", &n); memset(f, 0x3f, sizeof(f)); ma = 0; for (int i = 1, x, idx; i <= n; ++i) { scanf("%d", &x); if (x >= i) { idx = upper_bound(f + 1, f + n + 1, x - i) - f; f[idx] = x - i; ma = max(ma, idx); } } printf("%d\n", n - ma); return 0; }