Language: C++

#include"bits/stdc++.h"
using namespace std;

int main(){
  int n;
  cin >> n;
  typedef pair<int,int> P;
  vector<P> coordinate = {};
  long long x,y;
  int tmp;
  int maximum = 0;
  bool flag = false;
  for (int i = 0; i<n; i++){
    cin >> x >> y;
    maximum = max(maximum,abs(x)+abs(y));
    if (i==0) {
      tmp = (abs(x) + abs(y))%2;
      if (tmp%2==0) flag = true;
    }
    //if (x+y)%2 dose not match with tmp, we cannot meat the condition
    else if (tmp != (abs(x) + abs(y))%2){
      cout << -1 << endl;
      exit(0);
    }
    if (flag) x--;
    coordinate.push_back({x,y});
  }
  //出力
  //case:tmp%2==0 you should add 1 to some direction
  int ranges = 1;
  while (1){
    if (maximum < pow(2,ranges)) break;
    else ranges++;
  }
  //m:the number of arms
  if (flag) cout << ranges+1 << endl;
  else cout << ranges << endl;
  //d:the length of arms
  if (flag) cout << 1 << " ";
  for (int i = ranges-1; i>=0; i--){
    cout << pow(2,i);
    if (i!=0) cout << " ";
    else cout << endl;
  }
  //w:the mode of each arms
  vector<int> dx={1,-1,0,0};
  vector<int> dy={0,0,1,-1};
  vector<char> dz={'R','L','U','D'};
  for (int i=0; i<n; i++){
    x=coordinate[i].first;
    y=coordinate[i].second;
    if (flag){
      cout << 'R';
    }
    for (int j=ranges-1; j>=0; j--){
    for (int k=0; k<4; k++){
      if (abs(x-dx[k]*pow(2,j))+abs(y-dy[k]*pow(2,j))<pow(2,j)){
        cout << dz[k];
        x-=pow(2,j)*dx[k];
        y-=pow(2,j)*dy[k];
        break;
      }
    }
    }
    cout << endl;
  }
}

Compiler output:
a.cc: In function 'int main()':
a.cc:15:18: error: no matching function for call to 'max(int&, long long int)'
   15 |     maximum = max(maximum,abs(x)+abs(y));
      |               ~~~^~~~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51,
                 from a.cc:1:
/usr/include/c++/14/bits/stl_algobase.h:257:5: note: candidate: 'template<class _Tp> constexpr const _Tp& std::max(const _Tp&, const _Tp&)'
  257 |     max(const _Tp& __a, const _Tp& __b)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:257:5: note:   template argument deduction/substitution failed:
a.cc:15:18: note:   deduced conflicting types for parameter 'const _Tp' ('int' and 'long long int')
   15 |     maximum = max(maximum,abs(x)+abs(y));
      |               ~~~^~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note: candidate: 'template<class _Tp, class _Compare> constexpr const _Tp& std::max(const _Tp&, const _Tp&, _Compare)'
  303 |     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algobase.h:303:5: note:   candidate expects 3 arguments, 2 provided
In file included from /usr/include/c++/14/algorithm:61:
/usr/include/c++/14/bits/stl_algo.h:5706:5: note: candidate: 'template<class _Tp> constexpr _Tp std::max(initializer_list<_Tp>)'
 5706 |     max(initializer_list<_Tp> __l)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5706:5: note:   candidate expects 1 argument, 2 provided
/usr/include/c++/14/bits/stl_algo.h:5716:5: note: candidate: 'template<class _Tp, class _Compare> constexpr _Tp std::max(initializer_list<_Tp>, _Compare)'
 5716 |     max(initializer_list<_Tp> __l, _Compare __comp)
      |     ^~~
/usr/include/c++/14/bits/stl_algo.h:5716:5: note:   template argument deduction/substitution failed:
a.cc:15:18: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
   15 |     maximum = max(maximum,abs(x)+abs(y));
      |               ~~~^~~~~~~~~~~~~~~~~~~~~~~