제출 #999574

#제출 시각아이디문제언어결과실행 시간메모리
999574vjudge1Rabbit Carrot (LMIO19_triusis)C++17
63 / 100
19 ms5508 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define inf (int)1e15 int binsearch(int val, vector<int>& vec){ int l = 0, r = (int)vec.size()-1, mid; while(l < r){ mid = (l + r + 1)/2; if(vec[mid] <= val){ l = mid; }else{ r = mid-1; } } if(l != (int)vec.size() - 1){ l++; } return l; } void solve(){ int n, m; cin >> n >> m; vector<int> vals; for(int i = 0; i < n; i++){ int in; cin >> in; in -= (m * i); if(in <= m){ vals.push_back(in); } } if((int)vals.size() != 0LL) reverse(vals.begin(), vals.end()); vector<int> v; //v sorted in increasing size for(int i = 0; i < (int)vals.size(); i++){ if((int)v.size() == 0){ v.push_back(vals[i]); continue; } int ind = binsearch(vals[i], v); if(v[ind] <= vals[i]){ v.push_back(vals[i]); }else{ v[ind] = vals[i]; } //cout << i << ", " << ind << "\n"; } cout << n - (int)v.size() << "\n"; } signed main(){ ios::sync_with_stdio(false), cin.tie(0); //freopen("txt.in", "r", stdin); freopen("txt.out", "w", stdout); //int t; cin >> t; while(t--) solve(); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...