Submission #671777

#TimeUsernameProblemLanguageResultExecution timeMemory
671777Hacv16Dancing Elephants (IOI11_elephants)C++17
26 / 100
9080 ms2908 KiB
#include "elephants.h" #include<bits/stdc++.h> #pragma GCC optimize("Ofast,unroll-loops") #pragma GCC target("avx2") #define sz(x) (int) x.size() #define all(x) x.begin(), x.end() using namespace std; const int MAX = 1e5 + 15; int n, l, pos[MAX]; vector<int> x; void init(int n_, int l_, int x_[]){ n = n_, l = l_; x.resize(n); for(int i = 0; i < n; i++) x[i] = x_[i], pos[i] = x[i]; } int update(int i, int y){ vector<int> a, b, c; int id = 0; while(x[id] < pos[i]) a.emplace_back(x[id++]); for(int j = id + 1; j < n; j++) b.emplace_back(x[j]); c.emplace_back(y); if(sz(a) > sz(b)) swap(a, b); vector<int> aux(sz(a) + sz(b)), ret(sz(a) + sz(b) + sz(c)); merge(all(a), all(b), aux.begin()); merge(all(aux), all(c), ret.begin()); swap(ret, x); int ans = 0, r = -1; for(int j = 0; j < n; j++) if(x[j] > r) ans++, r = x[j] + l; pos[i] = y; return ans; }
#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...