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 S, class T> inline S max_L(S a,T b){
  7. return a>=b?a:b;
  8. }
  9. template<class T> inline void walloc1d(T **arr, int x, void **mem = &wmem){
  10. static int skip[16] = {0, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1};
  11. (*mem) = (void*)( ((char*)(*mem)) + skip[((unsigned long long)(*mem)) & 15] );
  12. (*arr)=(T*)(*mem);
  13. (*mem)=((*arr)+x);
  14. }
  15. template<class T1> void sortA_L(int N, T1 a[], void *mem = wmem){
  16. sort(a, a+N);
  17. }
  18. template<class T1, class T2> void sortA_L(int N, T1 a[], T2 b[], void *mem = wmem){
  19. int i;
  20. pair<T1, T2> *arr;
  21. walloc1d(&arr, N, &mem);
  22. for(i=(0);i<(N);i++){
  23. arr[i].first = a[i];
  24. arr[i].second = b[i];
  25. }
  26. sort(arr, arr+N);
  27. for(i=(0);i<(N);i++){
  28. a[i] = arr[i].first;
  29. b[i] = arr[i].second;
  30. }
  31. }
  32. template<class S, class T> inline S chmax(S &a, T b){
  33. if(a<b){
  34. a=b;
  35. }
  36. return a;
  37. }
  38. #define main dummy_main
  39. int main(){
  40. wmem = memarr;
  41. return 0;
  42. }
  43. #undef main
  44. int dp[1000];
  45. int val[1000];
  46. int ind[1000];
  47. class Solution{
  48. public:
  49. int maxJumps(vector<int>& A, int D){
  50. int Q5VJL1cS, i;
  51. dummy_main();
  52. int k;
  53. int N = A.size();
  54. for(i=(0);i<(N);i++){
  55. val[i] = A[i];
  56. ind[i] = i;
  57. }
  58. sortA_L(N, val, ind);
  59. for(Q5VJL1cS=(0);Q5VJL1cS<(N);Q5VJL1cS++){
  60. int j;
  61. auto &i = ind[Q5VJL1cS];
  62. dp[i] = 1;
  63. for(j=(0);j<(D);j++){
  64. k = i - j - 1;
  65. if(k < 0 || A[k] >= A[i]){
  66. break;
  67. }
  68. chmax(dp[i], dp[k] + 1);
  69. }
  70. for(j=(0);j<(D);j++){
  71. k = i + j + 1;
  72. if(k >= N || A[k] >= A[i]){
  73. break;
  74. }
  75. chmax(dp[i], dp[k] + 1);
  76. }
  77. }
  78. {
  79. int t_ynMSdg;
  80. int KrdatlYV;
  81. if(N==0){
  82. KrdatlYV = 0;
  83. }
  84. else{
  85. KrdatlYV = dp[0];
  86. for(t_ynMSdg=(1);t_ynMSdg<(N);t_ynMSdg++){
  87. KrdatlYV = max_L(KrdatlYV, dp[t_ynMSdg]);
  88. }
  89. }
  90. return KrdatlYV;
  91. }
  92. }
  93. }
  94. ;
  95. // cLay varsion 20200214-1
  96.  
  97. // --- original code ---
  98. // #define main dummy_main
  99. // {}
  100. // #undef main
  101. //
  102. // int dp[1000], val[1000], ind[1000];
  103. //
  104. // class Solution {
  105. // public:
  106. // int maxJumps(vector<int>& A, int D) {
  107. // dummy_main();
  108. // int k, N = A.size();
  109. //
  110. // rep(i,N) val[i] = A[i], ind[i] = i;
  111. // sortA(N, val, ind);
  112. //
  113. // rep[ind](i,N){
  114. // dp[i] = 1;
  115. // rep(j,D){
  116. // k = i - j - 1;
  117. // if(k < 0 || A[k] >= A[i]) break;
  118. // dp[i] >?= dp[k] + 1;
  119. // }
  120. // rep(j,D){
  121. // k = i + j + 1;
  122. // if(k >= N || A[k] >= A[i]) break;
  123. // dp[i] >?= dp[k] + 1;
  124. // }
  125. // }
  126. //
  127. // return max(dp(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