Pagini recente » Diferente pentru olimpici intre reviziile 116 si 115 | Monitorul de evaluare | Istoria paginii preoni-2007/runda-1/solutii | Istoria paginii runda/kod_tesztel5/clasament | Cod sursa (job #431343)
Cod sursa(job #431343)
#include<stdio.h>
#include<algorithm>
#define ll long long
using namespace std;
const int N=9001;
int n,v[N],c[N];
long long rez;
void read()
{
scanf("%d",&n);
for( int i=1 ; i<=n ; ++i )
{
scanf("%d",&c[i]);
++v[c[i]];
}
sort(c+1,c+n+1);
}
void solve()
{
for( int i=1 ; i<n ; ++i )
for( int j=i+1 ; j<=n && 2*v[j]-v[i]<=v[n] ; ++j )
{
if(c[i]==c[j])
rez+=(ll)v[c[i]]-2;
else
rez+=(ll)v[ 2*c[j]-c[i] ];
}
}
int main()
{
freopen("medie.in","r",stdin);
freopen("medie.out","w",stdout);
read();
solve();
printf("%lld\n",rez);
return 0;
}