Cod sursa(job #287130)
Utilizator | Data | 24 martie 2009 16:21:44 | |
---|---|---|---|
Problema | Medie | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.56 kb |
#include <fstream>
#define VMAX 7100
#define RVMAX 7000
using namespace std;
ifstream fin("medie.in");
ofstream fout("medie.out");
int V[VMAX], N, SMAX;
int main()
{
int i, a, j, k;
fin >>N;
for (i = 1; i <= N; i++)
{
fin >>a;
V[a]++;
}
for (i = 1; i <= RVMAX; i++)
if (V[i] > 0)
{
if (V[i] >= 3) SMAX += ( V[i]*(V[i]-1)*(V[i]-2) )/2 ;
for (j = i+1, k = i-1; k >= 1 && j <= RVMAX; k--, j++)
SMAX += V[k] * V[j];
}
fout <<SMAX;
fout.close();
return 0;
}