Submission #65062

#TimeUsernameProblemLanguageResultExecution timeMemory
65062theknife2001Game (IOI13_game)C++17
0 / 100
4 ms596 KiB
#include "game.h" #include <bits/stdc++.h> #define mid (l+r)/2 using namespace std; long long gcd2(long long X, long long Y) { long long tmp; while (X != Y && Y != 0) { tmp = X; X = Y; Y = tmp % Y; } return X; } const int N=1e5+55; long long tree[N*4][20]; int n,m; void init(int R, int C) { n=R; m=C; } void up(int l , int r , int node , int ind , long long val , int lev) { if(l==r&&l==ind) { tree[node][lev]=val; return ; } if(ind<=mid) up(l,mid,node*2,ind,val,lev); else up(mid+1,r,node*2+1,ind,val,lev); tree[node][lev]=gcd2(tree[node*2][lev],tree[node*2+1][lev]); } long long query(int l , int r , int node , int x , int y , int lev) { if(x<=l&&r<=y) return tree[node][lev]; if(l>y||r<x) return 0; long long temp1=0; long long temp2=0; temp1=query(l,mid,node*2,x,y,lev); temp2=query(mid+1,r,node*2+1,x,y,lev); return gcd2(temp1,temp2); } void update(int P, int Q, long long K) { up(0,m-1,1,Q,K,P); } long long calculate(int P, int Q, int U, int V) { if(P>U) swap(P,U); if(Q>V) swap(Q,V); long long ans; for(int i=P;i<=Q;i++) { if(i==P) ans=query(0,m-1,1,U,V,i); else ans=gcd2(ans,query(0,m-1,1,U,V,i)); } return ans; }

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;
      ^~~
game.cpp: In function 'long long int calculate(int, int, int, int)':
game.cpp:77:12: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
     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...