I tried again like this, supposing we know the parity case, for example odd on first day
By checking (1,3),(4,6),(7,9),..., we can check a range of (3k-1) in k days. Now I construct a sequence of numbers ai, such that
an >= 3*sumi<nai
we can easily verify that ai = 4i qualifies.
The strategy now becomes,
in the first a1=4 days, we check (-5,-3),(-2,0),(1,3),(4,6), which is a range of -5 -> 6
in the next a2 = 16 days, we check (-23, -21),(-20,-18),...(-2,0),(1,3),..,(22,24), which is a range of -23 -> 24
etc.
Supposing groundhog is at P, while |6P|<ap = 4p
Then after ( a1 + a2 + .. +ap ) days, the range we just checked is the range of last ap days, which is about -1.5*ap -> 1.5*ap, while the range of groundhog could be is
-|P| - ( a1 + a2 + .. +ap ) -> |P|+( a1 + a2 + .. +ap ),
on the other hand, we have
|P|+( a1 + a2 + .. +ap ) - 1.5*ap = |P|+( a1 + a2 + .. +ap-1) - 0.5*ap < ap/6 +ap/3-0.5*ap = 0,
which is to say, groundhog's range is included by our last searching range.