Submission #1315502

#TimeUsernameProblemLanguageResultExecution timeMemory
1315502kawhietGame (IOI13_game)C++20
10 / 100
13089 ms5380 KiB
#include <bits/stdc++.h> #include "game.h" using namespace std; long long gcd(long long x, long long y) { if (x > y) { swap(x, y); } if (x == 0) { return y; } if (y % x == 0) { return x; } return gcd(y % x,x); } int n, m; set<array<long long, 3>> pos; void init(int R, int C) { n = R; m = C; } void update(int i, int j, long long k) { for (auto &[x, y, s] : pos) { if (x == i && y == j) { pos.erase({x, y, s}); pos.insert({x, y, k}); return; } } pos.insert({i, j, k}); } long long calculate(int p, int q, int u, int v) { long long ans = 0; for (auto [i, j, x] : pos) { if (p <= i && i <= u && q <= j && j <= v) { ans = gcd(ans, x); } if (i > u) break; } 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...