Submission #1299256

#TimeUsernameProblemLanguageResultExecution timeMemory
1299256lizi14Obstacles for a Llama (IOI25_obstacles)C++20
0 / 100
48 ms6252 KiB
#include "obstacles.h"
#include <bits/stdc++.h>
using namespace std;
const int N=2e5+5;
vector<int>k;
int x[N];
long long n,bati;
void initialize(vector<int> T, vector<int> H) {
    n=H.size();
    int j=0;
    bati=T.size();
    for(int j=0; j<H.size(); j++){
        if(T[0]<=H[j]){
            //x[j]=-1;
            k.push_back(j);
        }
        else{
            //x[j]=1;
        }
        //cout<<x[j]<<" ";
        //x[j]=a;
        //j++;
    }
    for(int i=0; i<H.size(); i++){
        if(T[n-1]<=H[i]){
            x[i]=-1;
        }
    }
    return;
}

bool can_reach(int L, int R, int S, int D) {
    //L--,R--,S--,D--;
    if(S>D)swap(S,D);
    if(bati==1){
        auto it=lower_bound(k.begin(),k.end(),S);
        if(it!=k.end() && *it<D){
            return 0;
        }
        //if(lower_bound(k.begin(),k.end(),S)<D)return 0;
        else return true;
    }
    else{
        for(int i=S; i<=D; i++){
            if(x[i]==-1){
                return 0;
            }
        }
        return true;
    }
}
#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...