Cod sursa(job #1688379)

Utilizator geniucosOncescu Costin geniucos Data 13 aprilie 2016 14:08:44
Problema Medie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include<cstdio>

using namespace std;

int N, maxi, cnt[14009], ap[7009];

int main ()
{
freopen ("medie.in", "r", stdin);
freopen ("medie.out", "w", stdout);

scanf ("%d", &N);
for (int i=1; i<=N; i++)
{
    int x;
    scanf ("%d", &x), ap[x] ++;
    if (x > maxi) maxi = x;
}
for (int i=1; i<=maxi; i++)
{
    for (int j=i+1; j<=maxi; j++)
        cnt[i + j] += ap[i] * ap[j];
    cnt[i + i] += ap[i] * (ap[i] - 1) / 2;
}
long long sol = 0;
for (int i=1; i<=maxi; i++)
    sol += 1LL * ap[i] * (cnt[i + i] - ap[i] + 1);
printf ("%lld\n", sol);
return 0;
}