Submission #1000084

#TimeUsernameProblemLanguageResultExecution timeMemory
1000084daffuwuGlobal Warming (CEOI18_glo)C++14
100 / 100
46 ms3712 KiB
#include <bits/stdc++.h> using namespace std; #define fr first #define sc second mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count()); int n, x, t[200069], ans, r[200069]; vector<int> vc; int main() { int i, j; scanf("%d%d", &n, &x); for (i=1; i<=n; i++) { scanf("%d", t+i); } for (i=n; i>=1; i--) { auto it = lower_bound(vc.begin(), vc.end(), -t[i]); if (it == vc.end()) { vc.push_back(-t[i]); r[i] = vc.size(); } else { *it = -t[i]; r[i] = it-vc.begin()+1; } } vc.clear(); for (i=1; i<=n; i++) { auto it = lower_bound(vc.begin(), vc.end(), t[i]); if (it == vc.end()) vc.push_back(t[i]); else *it = t[i]; j = upper_bound(vc.begin(), vc.end(), t[i+1]+x-1)-vc.begin(); ans = max(ans, j+r[i+1]); } printf("%d\n", ans); }

Compilation message (stderr)

glo.cpp: In function 'int main()':
glo.cpp:13:10: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   13 |     scanf("%d%d", &n, &x);
      |     ~~~~~^~~~~~~~~~~~~~~~
glo.cpp:16:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   16 |         scanf("%d", 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...