fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. template<class S, class T> inline S chmax(S &a, T b){
  5. if(a<b){
  6. a=b;
  7. }
  8. return a;
  9. }
  10. #define main dummy_main
  11. int main(){
  12. return 0;
  13. }
  14. #undef main
  15. int N;
  16. int A[1000];
  17. int dp[1000][1000];
  18. int solve(int a, int b){
  19. int i;
  20. int res = 0;
  21. if(a > b){
  22. return 0;
  23. }
  24. if(a >= N){
  25. {
  26. auto Lj4PdHRW = (N);
  27. a -= Lj4PdHRW;
  28. b -= Lj4PdHRW;
  29. }
  30. }
  31. if(dp[a][b] >= 0){
  32. return dp[a][b];
  33. }
  34. for(i=(3);i<(b-a);i+=(3)){
  35. chmax(res, solve(a, a+i-1) + solve(a+i, b));
  36. }
  37. for(i=(a+1);i<(b);i+=(3)){
  38. chmax(res, A[i] + solve(a+1, i-1) + solve(i+1, b-1));
  39. }
  40. return dp[a][b] = res;
  41. }
  42. class Solution{
  43. public:
  44. int maxSizeSlices(vector<int>& slices){
  45. int i;
  46. int res = -1;
  47. N = slices.size();
  48. for(i=(0);i<(2*N);i++){
  49. A[i] = slices[i % N];
  50. }
  51. for(i=(0);i<(2*N);i++){
  52. int j;
  53. for(j=(0);j<(2*N);j++){
  54. dp[i][j] = -1;
  55. }
  56. }
  57. for(i=(0);i<(N);i++){
  58. chmax(res, solve(i, i+N-1));
  59. }
  60. return res;
  61. }
  62. }
  63. ;
  64. // cLay varsion 20200325-1
  65.  
  66. // --- original code ---
  67. // #define main dummy_main
  68. // {}
  69. // #undef main
  70. //
  71. // int N, A[1000];
  72. // int dp[1000][1000];
  73. //
  74. // int solve(int a, int b){
  75. // int res = 0;
  76. //
  77. // if(a > b) return 0;
  78. // if(a >= N) (a, b) -= N;
  79. // if(dp[a][b] >= 0) return dp[a][b];
  80. //
  81. // rep(i,3,b-a,3) res >?= solve(a, a+i-1) + solve(a+i, b);
  82. // rep(i,a+1,b,3) res >?= A[i] + solve(a+1, i-1) + solve(i+1, b-1);
  83. //
  84. // return dp[a][b] = res;
  85. // }
  86. //
  87. // class Solution {
  88. // public:
  89. // int maxSizeSlices(vector<int>& slices) {
  90. // int res = -1;
  91. // N = slices.size();
  92. // rep(i,2N) A[i] = slices[i % N];
  93. // rep(i,2N) rep(j,2N) dp[i][j] = -1;
  94. // rep(i,N) res >?= solve(i, i+N-1);
  95. // return res;
  96. // }
  97. // };
  98.  
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