# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
553507 | nicholask | Game (IOI13_game) | C++14 | 1 ms | 212 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
#include "game.h"
using namespace std;
long long gcd(int a,int b){
while (b) b^=a^=b^=a%=b;
return a;
}
int n,m;
int seg[8010][8010];
void updateY(int idX,int tlX,int trX,int idY,int tlY,int trY,int xp,int yp,int val){
if (tlY==trY){
if (tlX==trX) seg[idX][idY]=val;
else seg[idX][idY]=gcd(seg[2*idX][idY],seg[2*idX+1][idY]);
return;
}
int tmY=(tlY+trY)/2;
if (yp<=tmY) updateY(idX,tlX,trX,2*idY,tlY,tmY,xp,yp,val);
else updateY(idX,tlX,trX,2*idY+1,tmY+1,trY,xp,yp,val);
seg[idX][idY]=gcd(seg[idX][2*idY],seg[idX][2*idY+1]);
}
void updateX(int idX,int tlX,int trX,int xp,int yp,int val){
if (tlX!=trX){
int tmX=(tlX+trX)/2;
if (xp<=tmX) updateX(2*idX,tlX,tmX,xp,yp,val);
else updateX(2*idX+1,tmX+1,trX,xp,yp,val);
}
updateY(idX,tlX,trX,1,1,m,xp,yp,val);
}
void updateEE(int xp,int yp,int val){
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |