Submission #729782

#TimeUsernameProblemLanguageResultExecution timeMemory
729782Nahian9696송신탑 (IOI22_towers)C++17
4 / 100
849 ms1452 KiB
#include "towers.h"

#include <bits/stdc++.h>

using namespace std;


#define f0(i, n) for(int i = 0; i <  (n); i++)
#define f1(i, n) for(int i = 1; i <= (n); i++)
#define pb push_back
#define ff first
#define ss second

typedef vector<int> vi;



vector<int> arr;


bool first_time = true;

int mxind = 0;


void init(int N, std::vector<int> H) {
    arr = H;
    f0(i, N-1) {
        if(arr[i] < arr[i+1]) mxind = i+1;
        else break;
    }
}

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


    if(L >= mxind || R <= mxind) return 1;

    if(arr[L] + D <= arr[mxind] && arr[R] + D <= arr[mxind]) return 2;
    return 1;




    // if(first_time) {
        // vi hh = vector(arr.begin()+L, arr.end()+R+1);
        // int n = R - L + 1;
        // int prefmin[n], sufmin[n];
        // prefmin[0] = hh[0];
        // sufmin[n-1] = hh[n-1];

        // f1(i, n-1) {
        //     prefmin[i] = min(hh[i], prefmin[i-1]);
        //     sufmin[n - i + 1] = min(hh[n-i+1], sufmin[n-i]);
        // }

        // int ans = -1;
        // f0(i, n) {
        //     if (
        //             prefmin[i] + D <= hh[i] &&
        //             sufmin[i] + D <= hh[i]
        //         ) {
        //         ans = max(ans, hh[i]);
        //     }
        // }

        // if(ans == -1) return 0;

        // // sort(hh.begin(), hh.end());

        // int ret = 0;

        // f0(i, n) if(hh[i] + D <= ans) ret ++;

        // return ret;


        // first_time = false;
    // }




    return 0;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...