fork(1) download
  1. #include <iostream>
  2. #include <vector>
  3. #include <string>
  4. #include <map>
  5. #include <cmath>
  6. #include <limits>
  7. using namespace std;
  8.  
  9. template <typename T>
  10. T average(T _l, T _r)
  11. {
  12. T int_part_l = _l / 2;
  13. T int_part_r = _r / 2;
  14. T fract_part_l = (_l > 0 ? 1 : -1) *(_l % 2);
  15. T fract_part_r = (_r > 0 ? 1 : -1) *(_r % 2);
  16. return int_part_l + int_part_r + (fract_part_l + fract_part_r)/2;
  17. }
  18.  
  19.  
  20. int main() {
  21. cout << average(-1,1) << endl;
  22. return 0;
  23. }
Success #stdin #stdout 0s 3412KB
stdin
Standard input is empty
stdout
1