# |
Submission time |
Handle |
Problem |
Language |
Result |
Execution time |
Memory |
39170 |
2018-01-09T17:04:06 Z |
faustaadp |
Game (IOI13_game) |
C++14 |
|
0 ms |
0 KB |
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define mp make_pair
#define fi first
#define se second
using namespace std;
long long fpb(long long X, long long Y) {
if(Y==0)
return X;
else
return fpb(Y,X%Y);
}
ll n,m,st[11][2540404],sk[101][251010],hz,i;
void un(ll aa,ll bb,ll cc,ll dd,ll ee,ll ff)
{
if(aa==bb)
{
if(n>10)
sk[ff][ee]=dd;
else
st[ff][ee]=dd;
}
else
{
ll ce=(aa+bb)/2;
if(cc<=ce)
un(aa,ce,cc,dd,ee*2,ff);
else
un(ce+1,bb,cc,dd,ee*2+1,ff);
if(n>10)
st[ff][ee]=fpb(st[ff][ee*2],st[ff][ee*2+1]);
else
sk[ff][ee]=fpb(sk[ff][ee*2],sk[ff][ee*2+1]);
}
}
ll hn(ll aa,ll bb,ll cc,ll dd,ll ee,ll ff)
{
if(dd<aa||bb<cc)
return 0;
else
if(cc<=aa&&bb<=dd)
{
if(n<10)
return st[ff][ee];
else
return sk[ff][ee];
}
else
{
ll ce=(aa+bb)/2;
return fpb(hn(aa,ce,cc,dd,ee*2,ff),hn(ce+1,bb,cc,dd,ee*2+1,ff));
}
}
void init(int R, int C) {
n=R;
m=C;
}
void update(int P, int Q, long long K) {
un(0,m-1,Q,K,1,P);
}
long long calculate(int P, int Q, int U, int V) {
hz=0;
for(i=P;i<=U;i++)
hz=fpb(hz,hn(0,m-1,Q,V,1,i));
return hz;
}
Compilation message
grader.c: In function 'int main()':
grader.c:18:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
int res;
^
/tmp/ccWq0Y8L.o: In function `main':
grader.c:(.text.startup+0x5f): undefined reference to `init'
grader.c:(.text.startup+0xb0): undefined reference to `calculate'
grader.c:(.text.startup+0x11a): undefined reference to `update'
collect2: error: ld returned 1 exit status