Pagini recente » Cod sursa (job #3233174) | Cod sursa (job #810204) | Cod sursa (job #2715190) | Cod sursa (job #997116) | Cod sursa (job #2725381)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("medie.in");
ofstream g ("medie.out");
int n,rez;
int fr[7001];
int main()
{
f >> n;
for(int i = 1; i<=n; i++)
{
int x;
f >> x;
fr[x]++;
}
for(int i = 1;i<=7000;i++)
{
if(fr[i]>2)
{
/// in primul rand incercam sa facem media cu aceleasi elemente
/// de ex daca avem sirul 5 5 5 , acesta este si un triplet corect
rez += fr[i] * ((fr[i]-1)*(fr[i]-2)/2);
}
for(int j = i + 1;j<=7000;j++)
{
if((i+j)%2 == 0 && fr[i]&&fr[j])
{
/// in al doilea rand verificam cu elemente diferite si cu media acestora
rez+=fr[i] * fr[j] * fr[(i+j)/2];
}
}
}
g << rez;
}