Submission #548443

#TimeUsernameProblemLanguageResultExecution timeMemory
548443lorenzoferrariGame (IOI13_game)C++17
10 / 100
13097 ms4820 KiB
#include "game.h"
#include <bits/stdc++.h>
using namespace std;
using LL = long long;

vector<array<LL, 3>> h;

long long gcd2(long long X, long long Y) {
    long long tmp;
    while (X != Y && Y != 0) {
        tmp = X;
        X = Y;
        Y = tmp % Y;
    }
    return X;
}


void init(int r, int c) {}

map<int, map<int, LL>> mp;

void update(int p, int q, LL k) {
  mp[p][q] = k;
  h.push_back({p, q, k});
  return;
}

LL calculate(int p, int q, int u, int v) {
  LL ans = 0;
  for (auto& [x, y, k] : h) {
    if (p <= x && x <= u && q <= y && y <= v) {
      ans = gcd2(ans, mp[x][y]);
    }
  }
  return ans;
}
#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...