Submission #1218797

#TimeUsernameProblemLanguageResultExecution timeMemory
1218797thewizardmanRabbit Carrot (LMIO19_triusis)C++20
0 / 100
3 ms2888 KiB
#pragma GCC optimize("Ofast,unroll-loops,no-stack-protector") // #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,avx2,tune=native") #include <bits/stdc++.h> using namespace std; // #include <ext/pb_ds/assoc_container.hpp> // #include <ext/pb_ds/tree_policy.hpp> // using namespace __gnu_pbds; // template<typename T> using oset = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>; #define ll long long #define ull unsigned long long #define ld long double #define pii pair<int, int> #define pll pair<ll, ll> #define pli pair<ll, int> #define plpll pair<ll, pll> #define pipii pair<int, pii> #define plpii pair<ll, pii> #define pipll pair<int, pll> #define lll tuple<ll, ll, ll> #define iii tuple<int, int, int> #define lii tuple<ll, int, int> #define lli tuple<ll, ll, int> #define md 1000000007LL #define linf 0x3f3f3f3f3f3f3f3f #define inf 0x3f3f3f3f #define lninf 0xc0c0c0c0c0c0c0c0 #define ninf 0xc0c0c0c0 #define bruh ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int n, m, ans, a[200001], b[200001], dp[200001], st[400001]; map<int, int> compress; void update(int i, int val) { for (i += n+1; i > 0; i >>= 1) st[i] = max(st[i], val); } int query(int l, int r) { int ret = ninf; for (l += n+1, r += n+1; l < r; l >>= 1, r >>= 1) { if (l & 1) ret = max(ret, st[l++]); if (r & 1) ret = max(ret, st[--r]); } return ret; } int main() { bruh; cin >> n >> m; for (int i = 1; i <= n; i++) cin >> a[i]; for (int i = 1; i <= n; i++) b[i] = a[i]; sort(b, b+n+1); for (int i = 0; i <= n; i++) compress[b[i]] = i; memset(st, 0xc0, sizeof st); memset(dp, 0xc0, sizeof dp); update(0, 0); for (int i = 1; i <= n; i++) { auto ub = compress.lower_bound(a[i]-m); dp[i] = query(ub->second, n) + 1; update(compress[a[i]], dp[i]); } for (int i = 1; i <= n; i++) ans = max(ans, dp[i]); cout << n - ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...