Pagini recente » Cod sursa (job #570734) | Cod sursa (job #234796) | Cod sursa (job #2633258) | Cod sursa (job #2719537) | Cod sursa (job #322102)
Cod sursa(job #322102)
#include <stdio.h>
#include <algorithm>
#define N 9500
#define P 10
using namespace std;
int n,v[N],maxim,r;
long long rez;
void citire()
{
scanf("%d\n",&n);
int nr=0;
char x;
while (scanf("%c",&x)!= EOF)
{
if (x=='\n')
{
v[++r]=nr;
nr=0;
}
else
nr=nr*10+x-'0';
}
sort(v+1,v+n+1);
}
int cbin(int x,int y)
{
int st=y,dr=n,m;
while (st!=dr)
{
m=(st+dr+1)/2;
if (x>=v[m])
st=m;
else
dr=m-1;
}
if (x==v[st])
return st;
return -1;
}
void rezolvare()
{
int i,j,t,k;
for (i=1; i<n; i++)
for (j=i+1; j<=n && 2*v[j]-v[i]<=v[n]; j++)
{
t=cbin(2*v[j]-v[i],j);
if (t!=-1)
{
if (t!=i && t!=j)
rez++;
for (k=t-1; k>=1 && v[k]==v[t]; k--)
if (k!=i && k!=j)
rez++;
}
}
printf("%lld\n",rez);
}
int main()
{
freopen("medie.in","r",stdin);
freopen("medie.out","w",stdout);
citire();
rezolvare();
return 0;
}