Submission #542135

#TimeUsernameProblemLanguageResultExecution timeMemory
542135juankipediaGlobal Warming (CEOI18_glo)C++14
100 / 100
112 ms5796 KiB
# include <bits/stdc++.h> using namespace std; /*************************************************************************************/ # define endl "\n" # define io_boost std::ios_base::sync_with_stdio(false);cin.tie(nullptr);cout.tie(nullptr); typedef unsigned long long int ulli; typedef long long int lli; /*************************************JUANKIPEDIA*************************************/ const int MAXN = 200005; int n; lli x, t[MAXN]; int main(){ cin >> n >> x; for(int i = 0; i < n; i++) cin >> t[i]; int L[n + 5], ans = 0; vector<int> l; for(int i = 0; i < n; i++){ int j = lower_bound(l.begin(), l.end(), t[i]) - l.begin(); if(j == l.size()) l.push_back(t[i]); else l[j] = t[i]; L[i] = j + 1; ans = max(ans, L[i]); } l.assign(n + 5, numeric_limits<int>::max()); for(int i = n - 1; i >= 0; i--){ int j = lower_bound(l.begin(), l.end(), -t[i] + x) - l.begin(); ans = max(ans, L[i] + j); j = lower_bound(l.begin(), l.end(), -t[i]) - l.begin(); l[j] = -t[i]; } cout << ans << endl; return 0; }

Compilation message (stderr)

glo.cpp: In function 'int main()':
glo.cpp:23:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |         if(j == l.size()) l.push_back(t[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...