Submission #987598

#TimeUsernameProblemLanguageResultExecution timeMemory
987598happypotatoGame (IOI13_game)C++17
37 / 100
13050 ms9256 KiB
#include "game.h" #include <bits/stdc++.h> using namespace std; #define ll long long #define pii pair<int, int> #define ff first #define ss second #define pb push_back ll gcd(ll a, ll b) { while (b) b ^= a ^= b ^= a %= b; return a; } void init(int R, int C) { } vector<pair<pii, ll>> v; void update(int P, int Q, long long K) { for (auto it = v.begin(); it != v.end(); ++it) { if (it->ff.ff == P && it->ff.ss == Q) { v.erase(it); break; } } v.pb({{P, Q}, K}); // for (pair<pii, ll> &x : v) cerr << x.ff.ff << ' ' << x.ff.ss << ' ' << x.ss << endl; // cerr << endl; } long long calculate(int P, int Q, int U, int V) { if (P > U) swap(P, U); if (Q > V) swap(Q, V); ll res = 0; for (pair<pii, ll> &x : v) { if (P <= x.ff.ff && x.ff.ff <= U && Q <= x.ff.ss && x.ff.ss <= V) { res = gcd(res, x.ss); } } return res; }
#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...