제출 #249771

#제출 시각아이디문제언어결과실행 시간메모리
249771eohomegrownapps코끼리 (Dancing Elephants) (IOI11_elephants)C++14
26 / 100
9095 ms2560 KiB
#include "elephants.h"
#include <bits/stdc++.h>
using namespace std;
#include <bits/extc++.h>
using namespace __gnu_pbds;
template <typename T>
using pbds_set = tree<T, null_type, less<T>, rb_tree_tag, tree_order_statistics_node_update>;
template <typename T, typename V>
using pbds_map = tree<T, V, less<T>, rb_tree_tag, tree_order_statistics_node_update>;

int n,l;
pbds_set<int> elephants;
vector<int> elpos;
vector<int> dp;

void init(int N, int L, int X[]) {
    n=N;l=L;
    elpos.resize(n);
    dp.resize(n);
    for (int i = 0; i<n; i++){
        elpos[i]=X[i];
        elephants.insert(X[i]);
    }
}

int update(int i, int y) {
    elephants.erase(elpos[i]);
    elpos[i]=y;
    elephants.insert(y);
    int ptr = 0;
    for (auto e : elephants){
        int lastel = elephants.order_of_key(e-l);
        if (lastel==0){
            dp[ptr]=1;
        } else {
            dp[ptr]=dp[lastel-1]+1;
        }
        ptr++;
    }
    return dp[n-1];
}
#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...