Submission #1299473

#TimeUsernameProblemLanguageResultExecution timeMemory
1299473dimitri.shengeliaObstacles for a Llama (IOI25_obstacles)C++20
24 / 100
69 ms8960 KiB
#include "obstacles.h" #include <bits/stdc++.h> //#include <cassert> //#include <cstdio> using namespace std; int n, m; vector <int> t, h; bool group1b = false; vector <int> group1; bool group2b = false; vector <int> group2; bool group3b = false; vector <int> group31; vector <int> group32; void initialize ( vector <int> T, vector <int> H ) { n = T.size(), m = H.size(); t = T, h = H; if ( n == 1 ) { group1b = true; group1.resize( m ); for ( int i = 0; i < m; i++ ) { group1[i] = -1; if ( i != 0 ) { group1[i] = group1[i - 1]; } if ( t[0] <= h[i] ) { group1[i] = i; } } } else if ( n >= 3 and t[0] == 2 and t[1] == 1 and t[2] == 3 ) { group3b = true; } else { group2b = true; group2.resize( m ); for ( int i = 0; i < m; i++ ) { group2[i] = -1; if ( i != 0 ) { group2[i] = group2[i - 1]; } if ( t[n - 1] <= h[i] ) { group2[i] = i; } } } return; } bool can_reach ( int l, int r, int s, int d ) { if ( s > d ) { swap ( s, d ); } if ( group1b == true ) { if ( group1[d] >= s ) { return false; } else { return true; } } else if ( group2b == true ) { if ( group2[d] >= s ) { return false; } else { return true; } } return true; } /*int main() { int N, M; assert(2 == scanf("%d %d", &N, &M)); std::vector<int> T(N), H(M); for (int i = 0; i < N; i++) assert(1 == scanf("%d", &T[i])); for (int i = 0; i < M; i++) assert(1 == scanf("%d", &H[i])); int Q; assert(1 == scanf("%d", &Q)); std::vector<int> L(Q), R(Q), S(Q), D(Q); for (int i = 0; i < Q; i++) assert(4 == scanf("%d %d %d %d", &L[i], &R[i], &S[i], &D[i])); fclose(stdin); std::vector<bool> A(Q); initialize(T, H); for (int i = 0; i < Q; i++) A[i] = can_reach(L[i], R[i], S[i], D[i]); for (int i = 0; i < Q; i++) if (A[i]) printf("1\n"); else printf("0\n"); fclose(stdout); 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...