Submission #1186509

#TimeUsernameProblemLanguageResultExecution timeMemory
1186509simona1230Dancing Elephants (IOI11_elephants)C++20
26 / 100
9091 ms4104 KiB
#include "elephants.h" #include <bits/stdc++.h> using namespace std; int n; int sz=40; int b[150001][55]; multiset<int> s; int l; int p[150001]; void init(int N, int L, int X[]) { l=L; for(int i=0;i<N;i++) { s.insert(X[i]); p[i]=X[i]; } /*auto it=s.end(); for(int i=N-1;i>=0;i--) { it--; mp[*it]=i; int x=N-2*i+1; for(int j=x+1;j<=sz;j++) b[i][j]=1e9; auto it1=s.lower_bound(*it+L); it1++; if(it1==s.end()||mp[*it1]-i+1>=sz) { for(int j=1;j<=x;j++) b[i][j]=1; continue; } int y=mp[*it1]; y=mp[y]; }*/ } int update(int i, int y) { s.erase(s.find(p[i])); s.insert(y); p[i]=y; int x=*s.begin(),ans=1; for(auto it=s.begin();it!=s.end();it++) if(*it>x+l)x=*it,ans++; 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...