제출 #1093951

#제출 시각아이디문제언어결과실행 시간메모리
1093951Aviansh코끼리 (Dancing Elephants) (IOI11_elephants)C++17
50 / 100
9100 ms5996 KiB
#include <bits/stdc++.h>
#include "elephants.h"

using namespace std;

int n;
int l;
int *x;
unordered_map<int,int>mp;
vector<int>uni;

void init(int N, int L, int X[])
{
    n = N;
    l=L;
    x=X;
    for(int i = 0;i<n;i++){
        mp[x[i]]++;
    }
    for(pair<int,int>p:mp){
        uni.push_back(p.first);
    }
    sort(uni.begin(),uni.end());
}

int update(int i, int y)
{
    mp[x[i]]--;
    if(mp[x[i]]==0){
        mp.erase(x[i]);
        uni.erase(lower_bound(uni.begin(),uni.end(),x[i]));
    }
    x[i]=y;
    mp[x[i]]++;
    if(mp[x[i]]==1){
        int ind = lower_bound(uni.begin(),uni.end(),x[i])-uni.begin();
        uni.insert(uni.begin()+ind,x[i]);
    }
    int ans = 1;
    int las = uni[0];
    for(int i : uni){
        if(i-las>l){
            las=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...