Advertisement
Guest User

Untitled

a guest
Aug 19th, 2019
84
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<bits/stdc++.h>
  2. #include<string>
  3. #include<vector>
  4.  
  5. using namespace std;
  6.  
  7. typedef long long int ll;
  8. typedef long double ld;
  9. typedef unsigned long long int ull;
  10. typedef long long li;
  11.  
  12. #define ms(x,a) memset(x,a,sizeof(x))
  13. #define forn(i, n) for (int i = 0; i < int(n); i++)
  14. #define pi      acos(0.0)*2 // 3.1415926535897932
  15. #define mx      100000007
  16. #define mod     1000000007
  17. #define base    10000007
  18. #define pb      push_back
  19. #define mx1     10001000
  20.  
  21. ull ara[mx];
  22. vector<ull>prime;
  23. vector<ll>prm;
  24.  
  25. void inOut();
  26. void seive();
  27.  
  28. int main()
  29. {
  30.     //inOut();
  31.     seive();
  32.     ll i,j,k,l,q,n,m;
  33.     string s;
  34.  
  35.     cin>>n;
  36.     ll a[n+2];
  37.  
  38.     for(i=0; i<n; i++)
  39.     {
  40.         cin>>a[i];
  41.  
  42.         for(j=0; j<prime.size(); j++)
  43.         {
  44.             if(a[i] == prime[j])
  45.             {
  46.                 prm.pb(a[i]); break;
  47.             }
  48.         }
  49.     }
  50.  
  51.     sort(a, a+n);
  52.     sort(prm.begin(), prm.end());
  53.     ll sum = 0, lprm;
  54.     ll sz = prm.size();
  55.  
  56.     for(i=sz-1; i>=0; i--)
  57.         if(prm[i]<a[n-1])
  58.         {
  59.             lprm = prm[i]; break;
  60.         }
  61.  
  62.     for(i=n-1; i>=0; i--)
  63.     {
  64.         if(a[i] == lprm)
  65.             continue;
  66.         else
  67.             sum += abs(a[i] - lprm);
  68.     }
  69.  
  70.     cout<<sum<<endl;
  71.  
  72.     return 0;
  73. }
  74.  
  75. void inOut()
  76. {
  77.     ios_base::sync_with_stdio(false);
  78.     cin.tie(NULL);
  79.  
  80.     #ifndef ONLINE_JUDGE
  81.         freopen("input.txt", "r", stdin);
  82.         //freopen("output.txt", "w", stdout);
  83.     #endif
  84. }
  85.  
  86. void seive()
  87. {
  88.     ull i, j, n = mx1, m = n;
  89.  
  90.     for(i=3; i<=m; i+=2)
  91.     {
  92.         if(ara[i]==0)
  93.         {
  94.             for(j=i*i; j<=n; j+=i*2)
  95.                 ara[j] = 1;
  96.         }
  97.     }
  98.  
  99.     ara[1] = 1;
  100.  
  101.     for(i=4; i<=n; i+=2)
  102.         ara[i] = 1;
  103.  
  104.     prime.push_back(1);
  105.     prime.push_back(2);
  106.  
  107.     for(i=3; i<=n; i+=2)
  108.     {
  109.         if(ara[i]==0)
  110.             prime.push_back(i);
  111.     }
  112. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement