Advertisement
Guest User

Untitled

a guest
Jan 22nd, 2019
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.27 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. #define int long long
  4. #define pb push_back
  5. #define ll int
  6. #define S second
  7. #define F first
  8.  
  9. using namespace std;
  10.  
  11. const int N=1e3+100;
  12.  
  13. const int p[27] = {1, 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97, 101};
  14. int a[N][N] ;
  15.  
  16. int32_t main ()
  17. {
  18. ios_base::sync_with_stdio(0);
  19. cin.tie(0);
  20. cout.tie(0);
  21. freopen("input.txt", "r", stdin);
  22. freopen("output.txt", "w", stdout);
  23. int n;
  24. cin >> n;
  25. for (int i=0; i<=n; i++)
  26. {
  27. for (int j=0; j<=3; j++)
  28. {
  29. if (i==0 ) a[i][j]=1;
  30. else a[i][j]=0;
  31. }
  32. }
  33. int l=1;
  34. int r=27;
  35. int ans=0;
  36. while (l<=r)
  37. {
  38. int mid=(l+r)/2;
  39. if (p[mid]<=n)
  40. {
  41. ans=mid;
  42. l=mid+1;
  43. continue;
  44. }
  45. else
  46. {
  47. r=mid-1;
  48. }
  49. }
  50. cout << p[0] << endl;
  51. // cout << ans << " " << p[ans] << endl;
  52. // return 0;
  53. int k=0;
  54. for (int i=1; i<=n; i++)
  55. {
  56. cout << i << endl;
  57. for (int j=1; j<=ans; j++)
  58. {
  59. k=0;
  60. int s=1;
  61. int ma=0;
  62. while (s<i)
  63. {
  64. s=s*p[j];
  65. if (s>i) break;
  66. ma = max (a[i-s][j-1], ma);
  67. k++;
  68. }
  69. a[i][j]=max(a[i][j-1],ma) * ma;
  70. }
  71. }
  72. for (int i=0; i<=n; i++)
  73. {
  74. for (int j=0; j<=3; j++)
  75. {
  76. cout << a[i][j] << " ";
  77. }
  78. cout << endl;
  79. }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement