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. int isSubstring(string A, string B, void *mem = wmem){
  13. int i = 0;
  14. int k;
  15. int *fail;
  16. char *m;
  17. if(B.size() > A.size()){
  18. return 0;
  19. }
  20. walloc1d(&fail, B.size()+1, &mem);
  21. k = fail[0] = -1;
  22. for(i=(0);i<(B.size());i++){
  23. while(k>=0 && B[k] != B[i]){
  24. k = fail[k];
  25. }
  26. fail[i+1] = ++k;
  27. }
  28. k = 0;
  29. for(i=(0);i<(A.size());i++){
  30. while(k >= 0 && B[k] != A[i]){
  31. k = fail[k];
  32. }
  33. if((++k) == B.size()){
  34. return 1;
  35. }
  36. }
  37. return 0;
  38. }
  39. #define main dummy_main
  40. int main(){
  41. wmem = memarr;
  42. return 0;
  43. }
  44. #undef main
  45. class Solution{
  46. public:
  47. vector<string> stringMatching(vector<string>& S){
  48. int i;
  49. dummy_main();
  50. int N = S.size();
  51. vector<string> res;
  52. for(i=(0);i<(N);i++){
  53. int j;
  54. for(j=(0);j<(N);j++){
  55. if(i!=j && isSubstring(S[j],S[i])){
  56. res.push_back(S[i]);
  57. break;
  58. }
  59. }
  60. }
  61. return res;
  62. }
  63. }
  64. ;
  65. // cLay varsion 20200419-1
  66.  
  67. // --- original code ---
  68. // #define main dummy_main
  69. // {}
  70. // #undef main
  71. //
  72. // class Solution {
  73. // public:
  74. // vector<string> stringMatching(vector<string>& S) {
  75. // dummy_main();
  76. // int N = S.size();
  77. // vector<string> res;
  78. // rep(i,N) rep(j,N) if(i!=j && isSubstring(S[j],S[i])){
  79. // res.push_back(S[i]);
  80. // break;
  81. // }
  82. // return res;
  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