Submission #1315178

#TimeUsernameProblemLanguageResultExecution timeMemory
1315178thanhbinh13Rabbit Carrot (LMIO19_triusis)C++20
100 / 100
28 ms3552 KiB
#include<bits/stdc++.h> using namespace std; long long n,m,h[200002],f[200002]; int main() { ios::sync_with_stdio(0); cin.tie(0); cin >> n >> m; for (int i = 1; i <= n; i++) { cin >> h[i]; h[i] -= i*m; } for (int i = 1; i <= n; i++) { f[i] = 1e18; } long long ans = 0; for (int i = n; i >= 0; i--) { ans = 1; long long l = 1,r = n; while(l <= r) { long long mid = (l+r)/2; if (f[mid] > h[i]) r = mid-1; else { l = mid+1; ans = mid+1; } } f[ans] = min(f[ans],h[i]); } cout << n-ans+1; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...