Submission #1305415

#TimeUsernameProblemLanguageResultExecution timeMemory
1305415kawhietMosaic (IOI24_mosaic)C++20
0 / 100
214 ms18224 KiB
#include <bits/stdc++.h>
#include "mosaic.h"
using namespace std;

vector<long long> mosaic(vector<int> x, vector<int> y, vector<int> T, vector<int> B, vector<int> L, vector<int> R) {
  int n = x.size(), q = T.size();
  set<int> s;
  int cur = y[1];
  for (int i = 1; i < n; i++) {
    cur = !(cur | x[i]);
    if (cur == 1) {
      s.insert(i - 1);
    } 
  }
  cur = x[1];
  for (int i = 1; i < n; i++) {
    cur = !(cur | y[i]);
    if (cur == 1) {
      s.insert(-i + 1);
    }
  }
  vector<long long> ret;
  for (int i = 0; i < q; i++) {
    int t = T[i], b = B[i], l = L[i], r = R[i];
    if (t == 0) {
      ret.push_back(x[l]);
    } else if (l == 0) {
      ret.push_back(y[t]);
    } else {
      if (s.count(t - l)) {
        ret.push_back(1);
      } else {
        ret.push_back(0);
      }
    }
  }
  return ret;
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...