Submission #65412

#TimeUsernameProblemLanguageResultExecution timeMemory
65412edisonhelloGame (IOI13_game)C++14
0 / 100
4 ms676 KiB
#include "game.h" #include<bits/stdc++.h> // #define ll int_fast64_t #define ll long long using namespace std; struct nodey{ nodey *l,*r; ll g; nodey():l(0),r(0),g(0){} void pull(){ g=__gcd(l?l->g:0,r?r->g:0); } }; struct nodex{ nodex *l,*r; nodey *root; nodex():l(0),r(0),root(0){} } *root; int x,y; void init(int R, int C){ x=R; y=C; } #define mid ((l+r)>>1) void modify(nodey *&now,int l,int r,int my,ll v){ if(!now)now=new nodey(); if(l==r){ now->g=v; return; } if(my<=mid)modify(now->l,l ,mid,my,v); else modify(now->r,mid+1,r ,my,v); now->pull(); } void modify(nodex *&now,int l,int r,int mx,int my,ll v){ if(!now)now=new nodex(); modify(now->root,0,y-1,my,v); if(l==r)return; if(mx<=mid)modify(now->l,l ,mid,mx,my,v); else modify(now->r,mid+1,r ,mx,my,v); } void update(int p, int q, long long v){ modify(root,0,x-1,p,q,v); } ll query(nodey *now,int l,int r,int yl,int yr){ if(yr<l || r<yl || !now)return 0; if(yl<=l&&r<=yr)return now->g; return __gcd(query(now->l,l ,mid,yl,yr), query(now->r,mid+1,r ,yl,yr)); } ll query(nodex *now,int l,int r,int xl,int xr,int yl,int yr){ if(xr<l || r<xl || !now)return 0; if(xl<=l&&r<=xr)return query(now->root,0,y-1,yl,yr); return __gcd(query(now->l,l ,mid,xl,xr,yl,yr), query(now->r,mid+1,r ,xl,xr,yl,yr)); } long long calculate(int x1, int y1, int x2, int y2){ return query(root,0,x-1,x1,x2,y1,y2); }

Compilation message (stderr)

grader.c: In function 'int main()':
grader.c:18:6: warning: variable 'res' set but not used [-Wunused-but-set-variable]
  int 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...