Submission #538335

#TimeUsernameProblemLanguageResultExecution timeMemory
538335pokmui9909Global Warming (CEOI18_glo)C++17
28 / 100
2090 ms1876 KiB
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

ll N, X;
ll A[200005];
ll LIS(vector<ll> &A){
    vector<ll> dp;
    for(int i = 0; i < A.size(); i++){
        if(dp.empty() || dp.back() < A[i]){
            dp.push_back(A[i]);
        } else {
            *lower_bound(dp.begin(), dp.end(), A[i]) = A[i];
        }
    }
    return dp.size();
}

int main(){
    cin.tie(0) -> sync_with_stdio(false);

    cin >> N >> X;
    vector<ll> A(N);
    for(int i = 0; i < N; i++){
        cin >> A[i];
    }
    ll ans = 0;
    for(int i = 0; i < N; i++){
        A[i] -= X;
        ans = max(ans, LIS(A));
    }
    cout << ans;
}

Compilation message (stderr)

glo.cpp: In function 'll LIS(std::vector<long long int>&)':
glo.cpp:9:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    9 |     for(int i = 0; i < A.size(); 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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...