foo.cc: In function 'int main()':
foo.cc:125:25: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
int mid = l + r + 1 >> 1;
~~~~~~^~~
foo.cc:110:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
freopen("track.in", "r", stdin);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
foo.cc:111:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)', declared with attribute warn_unused_result [-Wunused-result]
freopen("track.out", "w", stdout);
~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~