Submission #583573

#TimeUsernameProblemLanguageResultExecution timeMemory
583573benson1029Dancing Elephants (IOI11_elephants)C++14
26 / 100
9045 ms1696 KiB
#include "elephants.h" #include<bits/stdc++.h> using namespace std; #pragma GCC target ("avx2") #pragma GCC optimization ("O3") #pragma GCC optimization ("unroll-loops") int n; int l; pair<int,int> x[150005]; int pos[150005]; void init(int N, int L, int X[]) { n = N; l = L; for(int i=0; i<n; i++) { x[i] = make_pair(X[i], i); } sort(x, x+n); for(int i=0; i<n; i++) { pos[x[i].second] = i; } } int update(int i, int y) { int ptr = pos[i]; x[ptr].first = y; while(ptr > 0 && x[ptr] < x[ptr-1]) { swap(pos[x[ptr].second], pos[x[ptr-1].second]); swap(x[ptr], x[ptr-1]); --ptr; } while(ptr < n-1 && x[ptr] > x[ptr+1]) { swap(pos[x[ptr].second], pos[x[ptr+1].second]); swap(x[ptr], x[ptr+1]); ++ptr; } int past = -1e9; int ans = 0; for(int i=0; i<n; i++) { if(i==0 || past+l < x[i].first) { ans++; past = x[i].first; } } return ans; }

Compilation message (stderr)

elephants.cpp:6: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    6 | #pragma GCC optimization ("O3")
      | 
elephants.cpp:7: warning: ignoring '#pragma GCC optimization' [-Wunknown-pragmas]
    7 | #pragma GCC optimization ("unroll-loops")
      |
#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...