Pagini recente » Cod sursa (job #290787) | Cod sursa (job #476465) | Cod sursa (job #1043113) | Cod sursa (job #2003877) | Cod sursa (job #1946303)
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
constexpr int maxn = 1e6 + 100;
pair<ll, ll> d[maxn] = {}, *ep = d + maxn;
ifstream f("pairs.in");
ofstream g("pairs.out");
int main(){
int n;
f >> n;
for(int i = 0, x; i < n; ++i) f >> x, d[x].first = 1;
ll rez = (ll)n * (n-1) / 2ll;
for(int i = maxn-1; i > 1; --i){
ll nr1 = 0, nr2 = 0;
for(pair<ll, ll>* j = d+i; j < ep; j += i) nr1 += j->first, nr2 += j->second;
rez -= (d[i].second = nr1 * (nr1-1) / 2 - nr2); }
g << rez << endl;
return 0; }