#include #include #include #include #include #include #include #include #include #include using namespace std; #define int long long int MOD = 1000000007; int INF = (int)1 << 62; int getLIS(vector > &a) { int N = a.size(); pair inf; inf = make_pair(INF, INF); vector > dp(N, inf); for (int i = 0; i> N; vector > A(N); vector > B; int res = 0; for (int i = 0; i < N; i++) { cin >> A[i].first; A[i].first -= i; A[i].second = i; if (A[i].first > 0) { B.push_back(A[i]); } } cout << N - getLIS(B) << endl; }