Submission #1022654

#TimeUsernameProblemLanguageResultExecution timeMemory
1022654JakobZorzRadio Towers (IOI22_towers)C++17
23 / 100
4074 ms2644 KiB
#include"towers.h"
#include<vector>
#include<iostream>
using namespace std;

vector<int>arr;

void init(int N,vector<int>H){
    arr=H;
}

int solve(vector<int>arr,int d){
    int n=(int)arr.size();
    int res=0;
    
    for(int i=0;i<n;i++){
        int mn=2e9;
        
        int mx1=0;
        for(int j=i;j>=0;j--){
            mx1=max(mx1,arr[j]);
            if(arr[j]<arr[i]){
                mn=min(mn,mx1);
                break;
            }
        }
        
        int mx2=0;
        for(int j=i;j<n;j++){
            mx2=max(mx2,arr[j]);
            if(arr[j]<arr[i]){
                mn=min(mn,mx2);
                break;
            }
        }
        
        res+=mn-arr[i]>=d;
    }
    
    return res;
}

int max_towers(int L,int R,int D){
    vector<int>arr2;
    for(int i=L;i<=R;i++)
        arr2.push_back(arr[i]);
    return solve(arr2,D);
}
#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...