Cod sursa(job #1210587)

Utilizator ZenusTudor Costin Razvan Zenus Data 20 iulie 2014 15:33:43
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
#include <cstring>

using namespace std;

#define NMAX 9001

long long sol;
int A[NMAX],mainsel[NMAX],cntsel[NMAX];
int i,N,j;

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

scanf("%u",&N);

for (i=1;i<=N;++i)
{
    scanf("%u",&A[i]);
    ++mainsel[A[i]];
}

for (i=1;i<=N;++i)
{
    memset(cntsel,0,sizeof(cntsel));
    memcpy(cntsel,mainsel,sizeof(mainsel));

    --cntsel[A[i]];

    for (j=1;j<=N;++j)
    {
        if (j==i) continue;

        --cntsel[A[j]];

        if (A[j]>2*A[i] || 2*A[i]-A[j]>7000) continue;

        sol+=1LL*cntsel[2*A[i]-A[j]];
    }
}

printf("%lld",sol);

return 0;
}