Submission #916113

#TimeUsernameProblemLanguageResultExecution timeMemory
916113JakobZorzDancing Elephants (IOI11_elephants)C++17
50 / 100
9030 ms9176 KiB
#include"elephants.h"
#include<vector>
#include<algorithm>
using namespace std;

int n,l;
int pos[150000];
vector<int>arr;

void init(int N,int L,int X[]){
    n=N;
    l=L;
    for(int i=0;i<n;i++){
        pos[i]=X[i];
        arr.push_back(X[i]);
    }
    sort(arr.begin(),arr.end());
}

int update(int i,int y){
    auto it=lower_bound(arr.begin(),arr.end(),pos[i]);
    arr.erase(it);
    pos[i]=y;
    it=upper_bound(arr.begin(),arr.end(),pos[i]);
    arr.insert(it,y);
    
    int res=0;
    int pos=-1;
    for(int i=0;i<n;i++){
        if(arr[i]>pos){
            res++;
            pos=arr[i]+l;
        }
    }
    
    return res;
}
#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...