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 Factor_L(T N, T fac[], int fs[]){
  13. T i;
  14. int sz = 0;
  15. if(N%2==0){
  16. fac[sz] = 2;
  17. fs[sz] = 1;
  18. N /= 2;
  19. while(N%2==0){
  20. N /= 2;
  21. fs[sz]++;
  22. }
  23. sz++;
  24. }
  25. for(i=3;i*i<=N;i+=2){
  26. if(N%i==0){
  27. fac[sz] = i;
  28. fs[sz] = 1;
  29. N /= i;
  30. while(N%i==0){
  31. N /= i;
  32. fs[sz]++;
  33. }
  34. sz++;
  35. }
  36. }
  37. if(N > 1){
  38. fac[sz] = N;
  39. fs[sz] = 1;
  40. sz++;
  41. }
  42. return sz;
  43. }
  44. template<class T> int Divisor_L(T N, T res[], void *mem = wmem){
  45. int i;
  46. int j;
  47. int k;
  48. int s;
  49. int sz = 0;
  50. T *fc;
  51. int *fs;
  52. int fsz;
  53. walloc1d(&fc, 100, &mem);
  54. walloc1d(&fs, 100, &mem);
  55. fsz =Factor_L(N, fc, fs);
  56. res[sz++] = 1;
  57. for(i=(0);i<(fsz);i++){
  58. s = sz;
  59. k = s * fs[i];
  60. for(j=(0);j<(k);j++){
  61. res[sz++] = res[j] * fc[i];
  62. }
  63. }
  64. sort(res, res+sz);
  65. return sz;
  66. }
  67. #define main dummy_main
  68. int main(){
  69. wmem = memarr;
  70. return 0;
  71. }
  72. #undef main
  73. int ys;
  74. int y[100000];
  75. class Solution{
  76. public:
  77. int sumFourDivisors(vector<int>& nums){
  78. int i;
  79. dummy_main();
  80. int res = 0;
  81. for(i=(0);i<(nums.size());i++){
  82. ys =Divisor_L(nums[i], y);
  83. if(ys==4){
  84. {
  85. int Q5VJL1cS;
  86. int e98WHCEY;
  87. if(ys==0){
  88. e98WHCEY = 0;
  89. }
  90. else{
  91. e98WHCEY = y[0];
  92. for(Q5VJL1cS=(1);Q5VJL1cS<(ys);Q5VJL1cS++){
  93. e98WHCEY += y[Q5VJL1cS];
  94. }
  95. }
  96. res +=e98WHCEY;
  97. }
  98. }
  99. }
  100. return res;
  101. }
  102. }
  103. ;
  104. // cLay varsion 20200325-1
  105.  
  106. // --- original code ---
  107. // #define main dummy_main
  108. // {}
  109. // #undef main
  110. //
  111. // int ys, y[1d5];
  112. //
  113. // class Solution {
  114. // public:
  115. // int sumFourDivisors(vector<int>& nums) {
  116. // dummy_main();
  117. // int res = 0;
  118. // rep(i,nums.size()){
  119. // ys = Divisor(nums[i], y);
  120. // if(ys==4) res += sum(y(ys));
  121. // }
  122. // return res;
  123. // }
  124. // };
  125.  
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