Submission #1013710

#TimeUsernameProblemLanguageResultExecution timeMemory
1013710vjudge1Dancing Elephants (IOI11_elephants)C++17
26 / 100
9037 ms12080 KiB
#include "elephants.h"
#include<bits/stdc++.h>
using namespace std;
#pragma GCC optimize(2)
int n,l;
int arr[50100],ps[50100],st[50100];
void init(int N, int L, int X[]){
    n = N;
    l=L;
    for(int i=0;i<N;i++)
        st[i]=ps[i]=i,arr[i]=X[i];
}
int update(int i, int y) {
    if(!l)return n;
    int ans=0,lst=-1e9;
    arr[i]=y;
    while(ps[i]<n-1&&arr[i]>arr[st[ps[i]+1]])
        swap(ps[i],ps[st[ps[i]+1]]),swap(st[ps[i]],st[ps[i]-1]);
    while(ps[i]&&arr[i]<arr[st[ps[i]-1]])
        swap(ps[i],ps[st[ps[i]-1]]),swap(st[ps[i]],st[ps[i]+1]);
    for(int b=0;b<n;b++)
        if(lst+l<arr[st[b]])
            lst=arr[st[b]],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...