fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. void *wmem;
  5. char memarr[96000000];
  6. template<class T> inline void walloc1d(T **arr, int x, void **mem = &wmem){
  7. static int skip[16] = {0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
  8. (*mem) = (void*)( ((char*)(*mem)) + skip[((unsigned long long)(*mem)) & 15] );
  9. (*arr)=(T*)(*mem);
  10. (*mem)=((*arr)+x);
  11. }
  12. template<class T1> void sortA_L(int N, T1 a[], void *mem = wmem){
  13. sort(a, a+N);
  14. }
  15. template<class T1, class T2> void sortA_L(int N, T1 a[], T2 b[], void *mem = wmem){
  16. int i;
  17. pair<T1, T2> *arr;
  18. walloc1d(&arr, N, &mem);
  19. for(i=(0);i<(N);i++){
  20. arr[i].first = a[i];
  21. arr[i].second = b[i];
  22. }
  23. sort(arr, arr+N);
  24. for(i=(0);i<(N);i++){
  25. a[i] = arr[i].first;
  26. b[i] = arr[i].second;
  27. }
  28. }
  29. template<class T, class S> inline S sod_L(T n, S b){
  30. S res = 0;
  31. while(n){
  32. res += n%b;
  33. n /= b;
  34. }
  35. return res;
  36. }
  37. #define main dummy_main
  38. int main(){
  39. wmem = memarr;
  40. return 0;
  41. }
  42. #undef main
  43. int val[1000];
  44. int bt[1000];
  45. class Solution{
  46. public:
  47. vector<int> sortByBits(vector<int>& A){
  48. int i;
  49. dummy_main();
  50. int N = A.size();
  51. for(i=(0);i<(N);i++){
  52. val[i] = A[i];
  53. bt[i] =sod_L(A[i], 2);
  54. }
  55. sortA_L(N, bt, val);
  56. for(i=(0);i<(N);i++){
  57. A[i] = val[i];
  58. }
  59. return A;
  60. }
  61. }
  62. ;
  63. // cLay varsion 20200217-1
  64.  
  65. // --- original code ---
  66. // #define main dummy_main
  67. // {}
  68. // #undef main
  69. //
  70. // int val[1000], bt[1000];
  71. //
  72. // class Solution {
  73. // public:
  74. // vector<int> sortByBits(vector<int>& A) {
  75. // dummy_main();
  76. // int N = A.size();
  77. // rep(i,N){
  78. // val[i] = A[i];
  79. // bt[i] = sod(A[i], 2);
  80. // }
  81. // sortA(N, bt, val);
  82. // rep(i,N) A[i] = val[i];
  83. // return A;
  84. // }
  85. // };
  86.  
Compilation error #stdin compilation error #stdout 0s 0KB
stdin
Standard input is empty
compilation info
/usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function `_start':
(.text+0x20): undefined reference to `main'
collect2: error: ld returned 1 exit status
stdout
Standard output is empty