The correct answer indeed will be $ O(N) $.
Here is the explanation, Let consider $ N = 2^K $
then the outer loop will run up to $ (Log N) $ times.
Then total work done by the program can be represented as,
T(n) = $ \sum_{i=0}^{log N} \frac{N}{2^i} $
T(n) = $ \sum_{i=0}^{log N} \frac{2^K}{2^i} $ (We have considered $ N = 2^{K} $ )
T(n) = $ \sum_{i=0}^{log N} 2^{K-i} $
T(n) <= $ \sum_{i=0}^{log N} 2^{K} $
T(n) <= $ 2^{K+1} $
T(n) <= $ 2^{log N+1} $
T(n) = $ O(2N) $.
Hence Time complexity of the program is O(N).