Submission #1331278

#TimeUsernameProblemLanguageResultExecution timeMemory
1331278Mamikonm1Dancing Elephants (IOI11_elephants)C++17
0 / 100
1 ms344 KiB
#include "elephants.h"
#include<bits/stdc++.h>
using namespace std;
int n,l;
vector<int>x,Y;
void init(int N, int L, int X[])
{
    n = N;
    l=L;
    for(int i=0;i<n;++i)Y.push_back(X[i]);
    x=Y;
    sort(begin(x),end(x));
}

int update(int i, int y)
{
    int id;
    for(int i=0;i<n;++i)if(x[i]==Y[i]){
        id=i;
        break;
    }
    if(Y[i]>y){
        int j=id-1;
        while(j>=0 and x[j]>y){
            x[j+1]=x[j];
            --j;
        }
        x[j+1]=y;
    }
    else if(Y[i]!=y){
        int j=id+1;
        while(j<n and x[j]<y){
            x[j-1]=x[j];
            ++j;
        }
        x[j-1]=y;
    }
    Y[i]=y;
    int ans=0,lf=-(l*2);
    for(int i=0;i<n;++i){
        if(x[i]-lf>l){
            lf=x[i];
            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...