Submission #1369211

#TimeUsernameProblemLanguageResultExecution timeMemory
1369211leolin0214Radio Towers (IOI22_towers)C++20
0 / 100
4061 ms2720 KiB
#include "towers.h"

#include <iostream>
#include <vector>
#include <algorithm>
#include <numeric>

#define ff first
#define ss second
#define pii pair<int, int>

using namespace std;

vector<int> h;

void init(int N, std::vector<int> H) {
    int n = N;
    H.insert(H.begin(), 1e9);
    H.push_back(1e9);
    
    h = H;
}

int max_towers(int L, int R, int D) {

    L++, R++;
    int d = D;

    vector<int> a(h.begin() + L, h.begin() + R+1);
    int n = a.size();
    a.insert(a.begin(), 1e9);
    a.push_back(1e9);

    vector<int> o(n);
    iota(o.begin(), o.end(), 1);
    sort(o.begin(), o.end(), [&] (int i, int j) {return a[i] < a[j];});

    vector<int> v(n+2);
    int ans = 0;
    // for (int i: o) {
    //     int l = i-1, r = i+1;
    //     while (a[l] < a[i] + d) l--;
    //     while (a[r] < a[i] + d) r++;
    //     int sum = accumulate(v.begin() + l+1, v.begin() + r, 0ll);
    //     if (sum) continue;
    //     for (int j=l+1; j<r; j++) v[j] = 1;
    //     ans++;
    // }

    return ans;
}   
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...