Submission #831059

#TimeUsernameProblemLanguageResultExecution timeMemory
831059serifefedartarRabbit Carrot (LMIO19_triusis)C++17
100 / 100
21 ms5324 KiB
#include <bits/stdc++.h> using namespace std; #define fast ios::sync_with_stdio(0);cin.tie(0); typedef long long ll; #define f first #define s second #define MOD 1000000007 #define LOGN 18 #define MAXN 5005 vector<int> a, cand; int find() { vector<int> LIS; for (auto u : cand) { int pos = upper_bound(LIS.begin(), LIS.end(), u) - LIS.begin(); if (pos == LIS.size()) LIS.push_back(u); LIS[pos] = u; } return LIS.size(); } int main() { fast int N, M; cin >> N >> M; a = vector<int>(N+1); for (int i = 1; i <= N; i++) cin >> a[i]; for (int i = 1; i <= N; i++) { if (a[i] <= M * i) cand.push_back(M * i - a[i]); } int LNDS = find(); cout << N - LNDS << "\n"; }

Compilation message (stderr)

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