Submission #799956

#TimeUsernameProblemLanguageResultExecution timeMemory
799956Sohsoh84Dancing Elephants (IOI11_elephants)C++17
50 / 100
9069 ms3432 KiB
#pragma GCC optimize("unroll-loops") #pragma GCC optimize("O3") #pragma GCC target("avx2") #include "elephants.h" #include <bits/stdc++.h> using namespace std; const int MAXN = 70000; int X[MAXN], n, L; vector<int> vec; // TODO: multiset void init(int N, int L_, int X_[]) { L = L_; for (int i = 0; i < N; i++) { X[i] = X_[i]; vec.push_back(X[i]); } while (vec.size() < MAXN) vec.push_back(numeric_limits<int>::max()); } int update(int i, int y) { vec.erase(lower_bound(vec.begin(), vec.end(), X[i])); X[i] = y; vec.insert(lower_bound(vec.begin(), vec.end(), X[i]), X[i]); int ans = 0; int v = -(L + 1); for (int i = 0; i < MAXN; i++) { if (vec[i] > 1ll * v + L) { v = vec[i]; ans++; } } return ans - 1; }
#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...