Submission #235935

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
2359352020-05-30 12:08:42crossing0verGame (IOI13_game)C++17
80 / 100
4797 ms256004 KiB
#include<bits/stdc++.h>
#define ll long long
#define tree int v,int tl,int tr
#define tm (tl + tr >> 1)
#define lhs L[v],tl,tm
#define rhs R[v], tm+1,tr
#include "game.h"
using namespace std;
const int N = 2E7;
int L[N],R[N],A[N],id = 1,posx,posy, lx,ly,rx,ry;
ll ans[N],val;
ll get_y (tree) {
if (tr < ly || tl > ry || !v) return 0;
if (tl >= ly && tr <= ry) {
return ans[v];
}
return __gcd ( get_y(lhs),get_y(rhs));
}
ll get_x (tree) {
if (tr < lx || tl > rx ) return 0;
if (tl >= lx && tr <= rx) {
if (!A[v]) return 0;
return get_y(A[v],0,1e9);
}
return __gcd ( get_x (lhs), get_x(rhs));
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

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 get_y(int, int, int)':
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:5:21: note: in expansion of macro 'tm'
 #define lhs L[v],tl,tm
                     ^~
game.cpp:20:23: note: in expansion of macro 'lhs'
  return __gcd ( get_y(lhs),get_y(rhs)); 
                       ^~~
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:6:19: note: in expansion of macro 'tm'
 #define rhs R[v], tm+1,tr
                   ^~
game.cpp:20:34: note: in expansion of macro 'rhs'
  return __gcd ( get_y(lhs),get_y(rhs)); 
                                  ^~~
game.cpp: In function 'long long int get_x(int, int, int)':
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:5:21: note: in expansion of macro 'tm'
 #define lhs L[v],tl,tm
                     ^~
game.cpp:29:24: note: in expansion of macro 'lhs'
  return __gcd ( get_x (lhs), get_x(rhs));
                        ^~~
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:6:19: note: in expansion of macro 'tm'
 #define rhs R[v], tm+1,tr
                   ^~
game.cpp:29:36: note: in expansion of macro 'rhs'
  return __gcd ( get_x (lhs), get_x(rhs));
                                    ^~~
game.cpp: In function 'void up_y(int, int, int, int, int, bool)':
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:37:14: note: in expansion of macro 'tm'
  if (posy <= tm) {
              ^~
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:5:21: note: in expansion of macro 'tm'
 #define lhs L[v],tl,tm
                     ^~
game.cpp:39:8: note: in expansion of macro 'lhs'
   up_y(lhs,L[a],L[b],flag);
        ^~~
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:6:19: note: in expansion of macro 'tm'
 #define rhs R[v], tm+1,tr
                   ^~
game.cpp:43:8: note: in expansion of macro 'rhs'
   up_y(rhs,R[a],R[b],flag);
        ^~~
game.cpp: In function 'void up_x(int, int, int)':
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:49:16: note: in expansion of macro 'tm'
    if (posx <= tm) {
                ^~
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:5:21: note: in expansion of macro 'tm'
 #define lhs L[v],tl,tm
                     ^~
game.cpp:51:10: note: in expansion of macro 'lhs'
     up_x(lhs);
          ^~~
game.cpp:4:16: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
 #define tm (tl + tr >> 1)
             ~~~^~~
game.cpp:6:19: note: in expansion of macro 'tm'
 #define rhs R[v], tm+1,tr
                   ^~
game.cpp:55:10: note: in expansion of macro 'rhs'
     up_x(rhs);
          ^~~
#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...