fork download
  1. #pragma GCC optimize ("Ofast")
  2. #include<bits/stdc++.h>
  3. using namespace std;
  4. template<class S, class T> inline S chmin(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. class Solution{
  16. public:
  17. int makeArrayIncreasing(vector<int>& A, vector<int>& B){
  18. int i;
  19. int j;
  20. int k;
  21. int N;
  22. int M;
  23. int dp[2001];
  24. int nx[2001];
  25. N = A.size();
  26. M = B.size();
  27. sort(B.begin(), B.end());
  28. for(i=0;i<(N+1);i++){
  29. dp[i] = 1073709056;
  30. }
  31. dp[0] = -1;
  32. for(i=0;i<(N);i++){
  33. for(k=0;k<(N+1);k++){
  34. nx[k] = 1073709056;
  35. }
  36. for(k=0;k<(N+1);k++){
  37. if(dp[k] < A[i]){
  38. chmin(nx[k], A[i]);
  39. }
  40. }
  41. for(k=0;k<(N);k++){
  42. if(dp[k] < 1073709056){
  43. j = upper_bound(B.begin(), B.end(), dp[k]) - B.begin();
  44. if(j < M){
  45. chmin(nx[k+1], B[j]);
  46. }
  47. }
  48. }
  49. for(k=0;k<(N+1);k++){
  50. dp[k] = nx[k];
  51. }
  52. }
  53. for(i=0;i<(N+1);i++){
  54. if(dp[i] < 1073709056){
  55. return i;
  56. }
  57. }
  58. return -1;
  59. }
  60. }
  61. ;
  62. // cLay varsion 20190914-1
  63.  
  64. // --- original code ---
  65. // #define main dummy_main
  66. // {}
  67. // #undef main
  68. //
  69. // class Solution {
  70. // public:
  71. // int makeArrayIncreasing(vector<int>& A, vector<int>& B) {
  72. // int i, j, k;
  73. // int N, M;
  74. // int dp[2001], nx[2001];
  75. //
  76. // N = A.size();
  77. // M = B.size();
  78. // sort(B.begin(), B.end());
  79. //
  80. // rep(i,N+1) dp[i] = int_inf;
  81. // dp[0] = -1;
  82. // rep(i,N){
  83. // rep(k,N+1) nx[k] = int_inf;
  84. // rep(k,N+1) if(dp[k] < A[i]) nx[k] <?= A[i];
  85. // rep(k,N) if(dp[k] < int_inf) {
  86. // j = upper_bound(B.begin(), B.end(), dp[k]) - B.begin();
  87. // if(j < M) nx[k+1] <?= B[j];
  88. // }
  89. // rep(k,N+1) dp[k] = nx[k];
  90. // }
  91. //
  92. // rep(i,N+1) if(dp[i] < int_inf) return i;
  93. // return -1;
  94. // }
  95. // };
  96.  
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