Pagini recente » Cod sursa (job #938258) | Cod sursa (job #2624329) | Cod sursa (job #1784015) | Cod sursa (job #723502) | Cod sursa (job #432977)
Cod sursa(job #432977)
#include <iostream>
#define s(x) (((x)*((x)-1)*((x)-2))>>1)
using namespace std;
struct vul
{
int cat;
} numar[7010];
int v[9050],maxi;
int main()
{
freopen ("medie.in","r",stdin);
freopen ("medie.out","w",stdout);
int n,x;
cin>>n;
int nnou=0;
for(int i=1;i<=n;i++)
{
cin>>v[i+nnou];
numar[v[i+nnou]].cat++;
if(numar[v[i+nnou]].cat>1)
nnou--;
}
for(int i=1;i<n+nnou;i++)
{
if(numar[v[i+nnou]].cat>2)
maxi+=s(numar[v[i+nnou]].cat);
for(int j=i+1;j<=n+nnou;j++)
{
x=v[i]+v[j];
if(!(x&1))
{
x=x>>1;
maxi+=numar[x].cat;
}
}
}
if(numar[v[n+nnou]].cat>2)
maxi+=s(numar[v[n+nnou]].cat);
cout<<maxi;
return 0;
}