Advertisement
bappi2097

J - Weird Sanchola

Aug 19th, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.75 KB | None | 0 0
  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      1000000007
  16. #define mod     1000000007
  17. #define base    10000007
  18. #define pb      push_back
  19. #define mx1     10001000
  20.  
  21. vector<ll>prm;
  22.  
  23. void inOut();
  24. using namespace std;
  25.  
  26. bool assigned[mx];
  27.  
  28. bool prime_num(int i)
  29. {
  30.     if(i < 2) return false;
  31.     if(i == 2) return true;
  32.     if(i%2 == 0) return false;
  33.     return assigned[i] == false;
  34. }
  35. void sieve(int p)
  36. {
  37.     for(int i=3; i*i<=p; i+=2)
  38.     {
  39.         if(assigned[i] == false)
  40.         {
  41.             for(int j=i*i; j<=p; j+=(i+i))
  42.              {
  43.                  assigned[j] = true;
  44.              }
  45.         }
  46.     }
  47. }
  48. int main()
  49. {
  50.     inOut();
  51.     sieve(mx);
  52.     ll i,j,k,l,q,n,m;
  53.     string s;
  54.  
  55.     cin>>n;
  56.     ll a[n+2];
  57.  
  58.     for(i=0; i<n; i++)
  59.     {
  60.         cin>>a[i];
  61.         if(!assigned[a[i]-1])prm.pb(a[i]);
  62.     }
  63.  
  64.     sort(a, a+n);
  65.     sort(prm.begin(), prm.end());
  66.     ll sum = 0, lprm;
  67.     ll sz = prm.size();
  68.  
  69.     for(i=sz-1; i>=0; i--)
  70.         if(prm[i]<a[n-1])
  71.         {
  72.             lprm = prm[i]; break;
  73.         }
  74.  
  75.     for(i=n-1; i>=0; i--)
  76.     {
  77.         if(a[i] == lprm)
  78.             continue;
  79.         else
  80.             sum += abs(a[i] - lprm);
  81.     }
  82.  
  83.     cout<<sum<<endl;
  84.  
  85.     return 0;
  86. }
  87.  
  88. void inOut()
  89. {
  90.     ios_base::sync_with_stdio(false);
  91.     cin.tie(NULL);
  92.  
  93.     #ifndef ONLINE_JUDGE
  94.         freopen("input.txt", "r", stdin);
  95.         //freopen("output.txt", "w", stdout);
  96.     #endif
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement