Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #include<string>
- #include<vector>
- using namespace std;
- typedef long long int ll;
- typedef long double ld;
- typedef unsigned long long int ull;
- typedef long long li;
- #define ms(x,a) memset(x,a,sizeof(x))
- #define forn(i, n) for (int i = 0; i < int(n); i++)
- #define pi acos(0.0)*2 // 3.1415926535897932
- #define mx 1000000007
- #define mod 1000000007
- #define base 10000007
- #define pb push_back
- #define mx1 10001000
- vector<ll>prm;
- void inOut();
- using namespace std;
- bool assigned[mx];
- bool prime_num(int i)
- {
- if(i < 2) return false;
- if(i == 2) return true;
- if(i%2 == 0) return false;
- return assigned[i] == false;
- }
- void sieve(int p)
- {
- for(int i=3; i*i<=p; i+=2)
- {
- if(assigned[i] == false)
- {
- for(int j=i*i; j<=p; j+=(i+i))
- {
- assigned[j] = true;
- }
- }
- }
- }
- int main()
- {
- inOut();
- sieve(mx);
- ll i,j,k,l,q,n,m;
- string s;
- cin>>n;
- ll a[n+2];
- for(i=0; i<n; i++)
- {
- cin>>a[i];
- if(!assigned[a[i]-1])prm.pb(a[i]);
- }
- sort(a, a+n);
- sort(prm.begin(), prm.end());
- ll sum = 0, lprm;
- ll sz = prm.size();
- for(i=sz-1; i>=0; i--)
- if(prm[i]<a[n-1])
- {
- lprm = prm[i]; break;
- }
- for(i=n-1; i>=0; i--)
- {
- if(a[i] == lprm)
- continue;
- else
- sum += abs(a[i] - lprm);
- }
- cout<<sum<<endl;
- return 0;
- }
- void inOut()
- {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- #ifndef ONLINE_JUDGE
- freopen("input.txt", "r", stdin);
- //freopen("output.txt", "w", stdout);
- #endif
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement