제출 #786668

#제출 시각아이디문제언어결과실행 시간메모리
786668nononoRabbit Carrot (LMIO19_triusis)C++14
100 / 100
29 ms4128 KiB
#include <bits/stdc++.h>
using namespace std;

const int mxN = 2e5 + 10;
int n, m;
int h[mxN];

signed main() {
    ios_base::sync_with_stdio(false); 
    cin.tie(nullptr);
    
    cin >> n >> m;
    
    for(int i = 1; i <= n; i ++) cin >> h[i];
    
    for(int i = 1; i <= n; i ++) {
        h[i] = h[i] - i * m;
    }
    
    vector<int> LIS;
    
    for(int i = n; i >= 1; i --) {
        int x = upper_bound(LIS.begin(), LIS.end(), h[i]) - LIS.begin();
        if(x == LIS.size()) LIS.push_back(h[i]);
        else 
            LIS[x] = min(LIS[x], h[i]);
    }
    
    cout << n - (upper_bound(LIS.begin(), LIS.end(), 0) - LIS.begin()) << "\n";
    return 0;
}

컴파일 시 표준 에러 (stderr) 메시지

triusis.cpp: In function 'int main()':
triusis.cpp:24:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   24 |         if(x == LIS.size()) LIS.push_back(h[i]);
      |            ~~^~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...