fork download
  1. #pragma GCC optimize("Ofast")
  2. #pragma GCC optimize("unroll-loops")
  3. #pragma GCC optimize("inline")
  4. #include<bits/stdc++.h>
  5. using namespace std;
  6. template<class T> struct cLtraits_identity{
  7. using type = T;
  8. }
  9. ;
  10. template<class T> using cLtraits_try_make_signed =
  11. typename conditional<
  12. is_integral<T>::value,
  13. make_signed<T>,
  14. cLtraits_identity<T>
  15. >::type;
  16. void*wmem;
  17. char memarr[96000000];
  18. template<class T> inline void walloc1d(T **arr, int x, void **mem = &wmem){
  19. static int skip[16] = {0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
  20. (*mem) = (void*)( ((char*)(*mem)) + skip[((unsigned long long)(*mem)) & 15] );
  21. (*arr)=(T*)(*mem);
  22. (*mem)=((*arr)+x);
  23. }
  24. template<class T> inline void walloc1d(T **arr, int x1, int x2, void **mem = &wmem){
  25. walloc1d(arr, x2-x1, mem);
  26. (*arr) -= x1;
  27. }
  28. template<class T> int coordcomp_L(int n, T arr[], int res[] = NULL, void *mem = wmem){
  29. int i;
  30. int k = 0;
  31. pair<T,int>*r;
  32. walloc1d(&r, n, &mem);
  33. for(i=(0);i<(n);i++){
  34. r[i].first = arr[i];
  35. r[i].second = i;
  36. }
  37. sort(r, r+n);
  38. if(res != NULL){
  39. for(i=(0);i<(n);i++){
  40. if(i && r[i].first != r[i-1].first){
  41. k++;
  42. }
  43. res[r[i].second] = k;
  44. }
  45. }
  46. else{
  47. for(i=(0);i<(n);i++){
  48. if(i && r[i].first != r[i-1].first){
  49. k++;
  50. }
  51. arr[r[i].second] = k;
  52. }
  53. }
  54. return k+1;
  55. }
  56. template<class T, class S> inline int vec2arr(vector<T> &v, S arr[]){
  57. int i;
  58. int N = v.size();
  59. for(i=(0);i<(N);i++){
  60. arr[i] = v[i];
  61. }
  62. return N;
  63. }
  64. template<class T, class S1, class S2> inline int vec2arr(vector<vector<T>> &v, S1 arr1[], S2 arr2[]){
  65. int i;
  66. int N = v.size();
  67. for(i=(0);i<(N);i++){
  68. arr1[i] = v[i][0];
  69. arr2[i] = v[i][1];
  70. }
  71. return N;
  72. }
  73. template<class T, class S1, class S2, class S3> inline int vec2arr(vector<vector<T>> &v, S1 arr1[], S2 arr2[], S3 arr3[]){
  74. int i;
  75. int N = v.size();
  76. for(i=(0);i<(N);i++){
  77. arr1[i] = v[i][0];
  78. arr2[i] = v[i][1];
  79. arr3[i] = v[i][2];
  80. }
  81. return N;
  82. }
  83. #define main dummy_main
  84. int main(){
  85. wmem = memarr;
  86. return 0;
  87. }
  88. #undef main
  89. int N;
  90. int A[100000];
  91. class Solution{
  92. public:
  93. int reductionOperations(vector<int>& nums){
  94. dummy_main();
  95. N = vec2arr(nums, A);
  96. coordcomp_L(N,A);
  97. int Lj4PdHRW;
  98. cLtraits_try_make_signed<remove_reference<decltype((*((int*)NULL)))>::type>::type KL2GvlyY;
  99. if(N==0){
  100. KL2GvlyY = 0;
  101. }
  102. else{
  103. KL2GvlyY = A[0];
  104. for(Lj4PdHRW=(1);Lj4PdHRW<(N);Lj4PdHRW++){
  105. KL2GvlyY += A[Lj4PdHRW];
  106. }
  107. }
  108. return KL2GvlyY;
  109. }
  110. }
  111. ;
  112. // cLay version 20210607-1
  113.  
  114. // --- original code ---
  115. // #define main dummy_main
  116. // {}
  117. // #undef main
  118. //
  119. // int N, A[1d5];
  120. //
  121. // class Solution {
  122. // public:
  123. // int reductionOperations(vector<int>& nums) {
  124. // dummy_main();
  125. // N = vec2arr(nums, A);
  126. // coordcomp(N,A);
  127. // return sum(A(N));
  128. // }
  129. // };
  130.  
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