Pagini recente » Cod sursa (job #1482251) | Cod sursa (job #1578317) | Cod sursa (job #2451162) | Cod sursa (job #49719) | Cod sursa (job #2759830)
#define MAX_V 7000
#define MIN_V 1
#include <fstream>
#include <cstdint>
using namespace std;
ifstream fin("medie.in");
ofstream fout("medie.out");
int64_t F[MAX_V + 1];
int main()
{
int n;
fin >> n;
for (int i = 1; i <= n; ++i)
{
int x;
fin >> x;
++F[x];
}
int64_t res = 0;
for (int i = MIN_V; i <= MAX_V; ++i)
{
if (F[i] > 2)
{
res += (F[i] * (F[i] - 1) * (F[i] - 2)) / 2;
}
else
{
for (int d = 1; ((i - d) >= MIN_V) && ((i + d) <= MAX_V); ++d)
{
res += F[i] * ((F[i - d] < F[i + d]) ? F[i - d] : F[i + d]);
}
}
}
fout << res;
fin.close();
fout.close();
return 0;
}