Submission #348558

#TimeUsernameProblemLanguageResultExecution timeMemory
348558KerimDancing Elephants (IOI11_elephants)C++17
50 / 100
9079 ms3564 KiB
#include "elephants.h"
#include "bits/stdc++.h"
using namespace std;
#define MAXN 100004
int n,l,arr[MAXN],x[MAXN];
void init(int N, int L, int X[]){
  	n = N; l = L;
	for(int i=0;i<n;i++)
		arr[i]=x[i]=X[i];
}

int update(int pos, int val){
	int p=0;
	while(arr[p]!=x[pos])p++;
	arr[p]=x[pos]=val;
	while(p+1<n and arr[p]>arr[p+1])
		swap(arr[p],arr[p+1]),p++;
	while(p and arr[p-1]>arr[p])
		swap(arr[p],arr[p-1]),p--;
	int ans=0,last=-1;
	for(int i=0;i<n;i++)
		if(last<arr[i]){
			ans++;
			last=arr[i]+l;	
		}
  	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...