Submission #744649

#TimeUsernameProblemLanguageResultExecution timeMemory
744649vjudge1Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
30 ms6872 KiB
#include "bits/stdc++.h" using namespace std; #define int long long const int inf = 1e9; const int ms = 2e5 + 5; int seg[4*ms], n; void upd(int pos, int val, int l=0, int r=n-1, int idx=0){ if(l == r){ seg[idx] = val; return; } int m = (l+r)/2; if(pos <=m ) upd(pos, val, l, m, 2*idx + 1); else upd(pos, val, m+1, r, 2*idx + 2); seg[idx] = max(seg[2*idx + 1], seg[2*idx +2]); } int qry(int L, int R, int l=0, int r=n-1 ,int idx=0){ if(l > R || r < L) return 0; if(r <= R && l >= L) return seg[idx]; int m = (l + r)/2; return max(qry(L, R, l, m, 2*idx + 1), qry(L, R, m+1, r, 2*idx + 2)); } signed main() { cin.tie(0); ios::sync_with_stdio(0); int m; cin >> n >> m; vector<int> v; for(int i=0; i<n; i++){ int a; cin >> a; if(m*(i+1) >=a ) v.push_back(m*(i+1) - a); } vector<int> lis; for(int i=0; i<v.size(); i++){ int id = upper_bound(lis.begin(), lis.end(), v[i]) - lis.begin(); if(id == lis.size()){ lis.push_back(v[i]); } else lis[id] = v[i]; } cout << n - lis.size() << endl; return 0; }

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:47:17: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   47 |   for(int i=0; i<v.size(); i++){
      |                ~^~~~~~~~~
triusis.cpp:49:11: warning: comparison of integer expressions of different signedness: 'long long int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   49 |     if(id == lis.size()){
      |        ~~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...