Submission #1186748

#TimeUsernameProblemLanguageResultExecution timeMemory
1186748simona1230Dancing Elephants (IOI11_elephants)C++20
26 / 100
9091 ms1604 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 ans=0;
    auto it=s.begin();
    while(it!=s.end())
    {
        ans++;
        int x=*it+l;
        it=s.upper_bound(x);
    }

    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...