Submission #237820

#TimeUsernameProblemLanguageResultExecution timeMemory
237820mohamedsobhi777Game (IOI13_game)C++14
37 / 100
13076 ms96632 KiB
#include<bits/stdc++.h> #include "game.h" using namespace std ; const int N =10000 + 7 ; int n; 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; } struct dynamic_segmentree{ int count ; long long iden = 0 ; vector<long long> tree ; vector<int> lc , rc ; void init(int _n){ count = 0 ; tree.resize(4*_n) ; lc = vector<int> (4*_n , -1) ; rc = vector<int> (4*_n , -1) ; } long long f(long long x , long long y){ return gcd2(x , y) ; } void update(int node , int L , int R , int ix , long long val){ if(L == R){ tree[node] = val ; return ; } int mid = (L+R) >>1 ; if(ix<=mid){ if(lc[node] == -1) lc[node] = ++count ; update(lc[node] , L , mid , ix , val) ; } else{ if(rc[node] == -1) rc[node] = ++count ; update(rc[node] , mid+1 , R , ix , val) ; } if(lc[node] == -1) tree[node] = tree[rc[node]] ; else if(rc[node] == -1) tree[node] = tree[lc[node]] ; else tree[node] = f(tree[lc[node]] , tree[rc[node]]) ; } long long query(int node , int L , int R , int l , int r){ if(l > R || r < L || node == -1) return iden ; if(L>=l && R<=r) return tree[node] ; int mid = (L+R) >>1 ; long long s1 = query(lc[node] , L , mid , l , r) ; long long s2 = query(rc[node] , mid+1 , R , l , r) ; return f(s1 , s2) ; } } ; vector<dynamic_segmentree> d ; int nn ; void update(int a , int b , long long c){ b++ ; d[a].update(0 , 1 , nn , b ,c ) ; } long long calculate(int a , int b , int c , int e){ long long ret = 0 ; b++ ; e++ ; for(int i = a ; i<=c ;i++){ ret = gcd2(ret , d[i].query(0 , 1, nn , b , e)) ; } return ret ; } void init(int R, int C) { d.resize(R+10) ; nn = C +10 ; for(int i = 0 ;i <=R+3 ; i++){ d[i].init(nn) ; } }

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...