Submission #1313172

#TimeUsernameProblemLanguageResultExecution timeMemory
1313172DedibeatObstacles for a Llama (IOI25_obstacles)C++20
21 / 100
2094 ms5860 KiB
#include "obstacles.h"
#include <bits/stdc++.h>
using namespace std;
vector<int> t, h;
int n, m;
void initialize(std::vector<int> T, std::vector<int> H) {
    n = T.size();
    m = H.size();
    t = T;
    h = H;
}
pair<int, int> go(int s)
{
    int l = s, r = s, j = s;
    for(int i = 0; i < n; i++)
    {
        while(l > 0 && t[i] > h[l - 1]) 
        {
            l--;
            if(h[l] < h[j] || (h[l] == h[j] && l < j)) j = l;
        }
        while(r < n - 1 && t[i] > h[r + 1]) 
        {
            r++;
            if(h[r] < h[j] || (h[r] == h[j] && r < j)) j = r;
        }
        if(i == n - 1 || t[i + 1] <= h[j]) 
        {
            //cout << i << ' ' << j << endl;
            return make_pair(i, j);
        }
    }
}
bool can_reach(int L, int R, int S, int D) {
    return go(S) == go(D);
}

Compilation message (stderr)

obstacles.cpp: In function 'std::pair<int, int> go(int)':
obstacles.cpp:33:1: warning: control reaches end of non-void function [-Wreturn-type]
   33 | }
      | ^
#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...