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 T> int coordcomp_L(int n, T arr[], int res[] = NULL, void *mem = wmem){
  13. int i;
  14. int k = 0;
  15. pair<T,int> *r;
  16. walloc1d(&r, n, &mem);
  17. for(i=(0);i<(n);i++){
  18. r[i].first = arr[i];
  19. r[i].second = i;
  20. }
  21. sort(r, r+n);
  22. if(res != NULL){
  23. for(i=(0);i<(n);i++){
  24. if(i && r[i].first != r[i-1].first){
  25. k++;
  26. }
  27. res[r[i].second] = k;
  28. }
  29. }
  30. else{
  31. for(i=(0);i<(n);i++){
  32. if(i && r[i].first != r[i-1].first){
  33. k++;
  34. }
  35. arr[r[i].second] = k;
  36. }
  37. }
  38. return k+1;
  39. }
  40. #define main dummy_main
  41. int main(){
  42. wmem = memarr;
  43. return 0;
  44. }
  45. #undef main
  46. int N;
  47. int A[100000];
  48. class Solution{
  49. public:
  50. vector<int> arrayRankTransform(vector<int>& arr){
  51. int i;
  52. dummy_main();
  53. N = arr.size();
  54. for(i=(0);i<(N);i++){
  55. A[i] = arr[i];
  56. }
  57. coordcomp_L(N, A);
  58. for(i=(0);i<(N);i++){
  59. arr[i] = A[i]+1;
  60. }
  61. return arr;
  62. }
  63. }
  64. ;
  65. // cLay varsion 20200119-1
  66.  
  67. // --- original code ---
  68. // #define main dummy_main
  69. // {}
  70. // #undef main
  71. //
  72. // int N, A[1d5];
  73. //
  74. // class Solution {
  75. // public:
  76. // vector<int> arrayRankTransform(vector<int>& arr) {
  77. // dummy_main();
  78. // N = arr.size();
  79. // rep(i,N) A[i] = arr[i];
  80. // coordcomp(N, A);
  81. // rep(i,N) arr[i] = A[i]+1;
  82. // return arr;
  83. // }
  84. // };
  85.  
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