fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. template<class S> void arrErase(int k, int &sz, S a[]){
  5. int i;
  6. sz--;
  7. for(i=(k);i<(sz);i++){
  8. a[i] = a[i+1];
  9. }
  10. }
  11. template<class S, class T> void arrErase(int k, int &sz, S a[], T b[]){
  12. int i;
  13. sz--;
  14. for(i=(k);i<(sz);i++){
  15. a[i] = a[i+1];
  16. }
  17. for(i=(k);i<(sz);i++){
  18. b[i] = b[i+1];
  19. }
  20. }
  21. template<class S, class T, class U> void arrErase(int k, int &sz, S a[], T b[], U c[]){
  22. int i;
  23. sz--;
  24. for(i=(k);i<(sz);i++){
  25. a[i] = a[i+1];
  26. }
  27. for(i=(k);i<(sz);i++){
  28. b[i] = b[i+1];
  29. }
  30. for(i=(k);i<(sz);i++){
  31. c[i] = c[i+1];
  32. }
  33. }
  34. #define main dummy_main
  35. int main(){
  36. return 0;
  37. }
  38. #undef main
  39. class Leaderboard{
  40. public:
  41. int score[10001];
  42. int lis[1001];
  43. int sz;
  44. Leaderboard(){
  45. int i;
  46. for(i=(0);i<(10001);i++){
  47. score[i] = 0;
  48. }
  49. sz = 0;
  50. }
  51. void addScore(int id, int s){
  52. if(score[id] > 0){
  53. int i;
  54. for(i=(0);i<(sz);i++){
  55. if(lis[i]==score[id]){
  56. break;
  57. }
  58. }
  59. lis[i] += s;
  60. score[id] += s;
  61. return;
  62. }
  63. score[id] = s;
  64. lis[sz++] = s;
  65. }
  66. int top(int K){
  67. int i;
  68. int res = 0;
  69. sort(lis, lis+sz);
  70. for(i=(0);i<(K);i++){
  71. res += lis[sz-1-i];
  72. }
  73. return res;
  74. }
  75. void reset(int id){
  76. if(score[id] > 0){
  77. int i;
  78. for(i=(0);i<(sz);i++){
  79. if(lis[i] == score[id]){
  80. break;
  81. }
  82. }
  83. arrErase(i, sz, lis);
  84. score[id] = 0;
  85. }
  86. }
  87. }
  88. ;
  89. // cLay varsion 20191102-1
  90.  
  91. // --- original code ---
  92. // #define main dummy_main
  93. // {}
  94. // #undef main
  95. //
  96. // class Leaderboard {
  97. // public:
  98. // int score[10001];
  99. // int lis[1001], sz;
  100. //
  101. // Leaderboard() {
  102. // rep(i,10001) score[i] = 0;
  103. // sz = 0;
  104. // }
  105. //
  106. // void addScore(int id, int s) {
  107. // if(score[id] > 0){
  108. // rep(i,sz) if(lis[i]==score[id]) break;
  109. // lis[i] += s;
  110. // score[id] += s;
  111. // return;
  112. // }
  113. // score[id] = s;
  114. // lis[sz++] = s;
  115. // }
  116. //
  117. // int top(int K) {
  118. // int res = 0;
  119. // sort(lis, lis+sz);
  120. // rep(i,K) res += lis[sz-1-i];
  121. // return res;
  122. // }
  123. //
  124. // void reset(int id) {
  125. // if(score[id] > 0){
  126. // rep(i,sz) if(lis[i] == score[id]) break;
  127. // arrErase(i, sz, lis);
  128. // score[id] = 0;
  129. // }
  130. // }
  131. // };
  132.  
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