Submission #369945

#TimeUsernameProblemLanguageResultExecution timeMemory
369945XEMPLI5Rabbit Carrot (LMIO19_triusis)C++17
100 / 100
95 ms5984 KiB
#include <bits/stdc++.h> using namespace std; const int mod = 1e9+7; long long n, m, mxN = 2e5+10; vector<long long> vals(mxN); int main(){ cin >> n >> m; for(int i=0; i<n; i++) { cin >> vals[i]; vals[i] = m * (i+1) - vals[i]; } vector<long long> dp; long long ans = 0; for(int i=0; i<n; i++){ if(vals[i] >= 0){ int pos = upper_bound(dp.begin(), dp.end(), vals[i]) - dp.begin(); if(pos == dp.size()) { ans++; dp.push_back(vals[i]); } else dp[pos] = vals[i]; } } cout << n-ans << '\n'; return 0; }

Compilation message (stderr)

triusis.cpp: In function 'int main()':
triusis.cpp:19:11: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   19 |    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...