Cod sursa(job #643431)

Utilizator marcelcodreaCodrea Marcel marcelcodrea Data 3 decembrie 2011 18:02:15
Problema Medie Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>

#define dim 9001

int N, K;

int A[dim], F[dim], NM[dim];

long Sol;

void Read();
void Solve();
void Write();

int main()
{
    Read();
    Solve();
    Write();
    
    return 0;
}

void Read()
{
     freopen("medie.in", "r", stdin);
     scanf("%d", &N);
     
     int i;
     for(i=1; i<=N; ++i)
              scanf("%d", A+i);
     
     fclose(stdin);
}

void Solve()
{
     int i, j, k;
     
     for(i=1; i<N; ++i)
     {
              ++ F[A[i]];
     
              for(j=i+1; j<=N; ++j)
				       if(!((A[i] + A[j]) & 1))
                       {
                                  k = (A[i] + A[j]) >> 1;
                                  ++ NM[k];
                       }
     }
     
     ++ F[A[N]];
     
     for(i=1; i<=N; ++i)
              Sol += (NM[A[i]] - F[A[i]] + 1);
}

void Write()
{
     freopen("medie.out", "w", stdout);
     
     printf("%ld", Sol);
     
     fclose(stdout);
}