Submission #591042

#TimeUsernameProblemLanguageResultExecution timeMemory
591042TimDeeGame (IOI13_game)C++14
10 / 100
13090 ms5728 KiB
#include "game.h"
#include <bits/stdc++.h>
using namespace std;
using ll = long long;

void init (int r, int c) {

}

map<int,map<int,ll>> m;
set<int> s;
map<int,set<int>> A;
void update(int x, int y, ll v) {
    m[x][y]=v;
    s.insert(x);
    A[x].insert(y);
}

ll calculate(int a, int b, int c, int d) {
    ll ans=0;
    auto it = s.lower_bound(a);
    while (it!=s.end() && *it<=c) {
        auto it2 = A[*it].lower_bound(b);
        while (it2!=A[*it].end() && *it2 <= d) {
            ans=__gcd(ans,m[*it][*it2]);
            ++it2;
        }
        ++it;
    }
    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...