Submission #713399

#TimeUsernameProblemLanguageResultExecution timeMemory
713399mtxasRabbit Carrot (LMIO19_triusis)C++14
100 / 100
84 ms4788 KiB
#include <bits/stdc++.h> using namespace std; void solve() { const int inf = 0x3f3f3f3f; int n, m; cin >> n >> m; vector<int> a(n + 1); for(int i = 1; i <= n; ++i) { cin >> a[i]; } /// solve it vector<int> b; for(int i = 1; i <= n; ++i) { if(a[i] <= i * m) { b.push_back(i * m - a[i]); } } auto lis = [&] (vector<int> &v) -> int { int maxlen = 0; vector<int> dp(v.size()); for(int i = 0; i < v.size(); ++i) { int x = upper_bound(dp.begin(), dp.begin() + maxlen, v[i]) - dp.begin(); if(x == maxlen) { maxlen++; } dp[x] = v[i]; } return maxlen; }; cout << n - lis(b) << '\n'; } signed main() { solve(); }

Compilation message (stderr)

triusis.cpp: In lambda function:
triusis.cpp:26:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   26 |         for(int i = 0; i < v.size(); ++i)
      |                        ~~^~~~~~~~~~
triusis.cpp: In function 'void solve()':
triusis.cpp:5:15: warning: unused variable 'inf' [-Wunused-variable]
    5 |     const int inf = 0x3f3f3f3f;
      |               ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...