Submission #473446

#TimeUsernameProblemLanguageResultExecution timeMemory
473446CrocoRabbit Carrot (LMIO19_triusis)C++17
100 / 100
42 ms9916 KiB
#include <bits/stdc++.h> #define int long long int #define ll long long using namespace std; const int N = 2e5 + 5; int find_lis(vector<int> a) //strictly increasing, for non-dec. change lower_bound to upper_bound { vector<int> dp; for(auto x : a) { int pos = upper_bound(dp.begin(),dp.end(),x) - dp.begin(); if(pos == dp.size()) dp.push_back(x); else dp[pos] = x; } return dp.size(); } signed main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); int n,m; cin>>n>>m; int a[n]; for(int i=0;i<n;i++) cin>>a[i]; vector<int> v; for(int i=1;i<=n;i++) { int val = m*i - a[i-1]; if(val >= 0) v.push_back(val); } cout << n - find_lis(v) << '\n'; }

Compilation message (stderr)

triusis.cpp: In function 'long long int find_lis(std::vector<long long int>)':
triusis.cpp:15:16: 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]
   15 |         if(pos == dp.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...