fork download
  1. // "ولا تقولن لشيء إني فاعل ذلك غدا"
  2. // "إلا أن يشاء الله واذكر ربك إذا نسيت وقل عسى أن يهديني ربي لأقرب من هذا رشدا"
  3.  
  4. // LINK :
  5. #include <bits/stdc++.h>
  6. #define ll long long
  7. #define nl '\n'
  8. #define sp ' '
  9. #define all(a) a.begin(),a.end()
  10. #define allr(a) a.rbegin(),a.rend()
  11. #define no cout<<"NO\n"
  12. #define yes cout<<"YES\n"
  13. #define imp cout<<"IMPOSSIBLE\n"
  14. #define ENG_GAMAL ios_base::sync_with_stdio(false); cin.tie(nullptr); cout.tie(nullptr);
  15. using namespace std;
  16. // ————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
  17. const int N = 2e5 + 5, M = 1e3, LOG = 20, inf = 0x3f3f3f3f;
  18. ll infLL = 0x3f3f3f3f3f3f3f3f;
  19.  
  20. vector<int> primes;
  21. vector<bool> is_prime;
  22.  
  23. void Sieve(int n = N) {
  24. is_prime.assign(n + 1, true);
  25. is_prime[0] = is_prime[1] = false;
  26.  
  27. for (int i = 2; i <= n; i++) {
  28. if (is_prime[i]) {
  29. primes.emplace_back(i);
  30. for (ll j = 1LL * i * i; j <= n; j += i) {
  31. is_prime[j] = false;
  32. }
  33. }
  34. }
  35. }
  36.  
  37. void solve() {
  38. int n;
  39. cin >> n;
  40. vector<int> a(n + 1);
  41. for (int i = 1; i <= n; i++)
  42. {
  43. cin >> a[i];
  44. }
  45. vector<int> ans(n + 1);
  46. ans[a[1]]++;
  47. for (int p : primes)
  48. {
  49. vector<int> freq(n + 1);
  50. for (int j = p; j <= n; j += p)
  51. {
  52. freq[a[j]]++;
  53. ans[a[j]] = max(ans[a[j]], freq[a[j]]);
  54. }
  55. }
  56. for (int i = 1; i <= n; i++){
  57. cout << ans[i] << sp;
  58. }
  59. cout << nl;
  60. }
  61. void file()
  62. {
  63. #ifndef ONLINE_JUDGE
  64. freopen("Input.txt", "r", stdin);
  65. freopen("Output.txt", "w", stdout);
  66. freopen("Error.txt", "w", stderr);
  67. #endif
  68. }
  69.  
  70. int main() {
  71. file();
  72. ENG_GAMAL
  73. // test-independent code ——————————————————————
  74. Sieve();
  75. // ————————————————————————————————————————————
  76. ll t = 1;
  77. // cin >> t;
  78. while (t--)
  79. {
  80. solve();
  81. }
  82.  
  83. return 0;
  84. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout