Submission #538330

#TimeUsernameProblemLanguageResultExecution timeMemory
538330pokmui9909Global Warming (CEOI18_glo)C++17
0 / 100
2087 ms1900 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 = N - 1; i >= 0; i--){ A[i] -= X; ans = max(ans, LIS(A)); } for(int i = N - 1; i >= 0; i--){ A[i] += 2 * 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...