Pagini recente » Cod sursa (job #2186052) | Cod sursa (job #356698) | Cod sursa (job #3285870) | Istoria paginii runda/premii | Cod sursa (job #282971)
Cod sursa(job #282971)
#include<algorithm>
#define DIM 7001
using namespace std;
int n,f[DIM];
long long calc(int a){
int i;
long long p;
if(a<2)
return 0;
for(i=3,p=1; i<=a; p*=i++);
for(i=1; i<=a-2; p/=i++);
return p;}
void solve(){
int i,st,dr,nr,max0;
long long k;
scanf("%d",&n);
for(i=1,max0=0; i<=n; ++i){
scanf("%d",&nr);
if(nr>max0)
max0=nr;
++f[nr];}
for(i=1,k=0; i<=max0; ++i){
k+=f[i]*calc(f[i]-1);
for(st=i-1,dr=i+1; st>0&&dr<=max0; --st,++dr)
if((f[st]&1)&&(f[dr]&1))
k+=f[i]*f[st]*f[dr];}
printf("%lld",k);}
int main(){
freopen("medie.in","r",stdin);
freopen("medie.out","w",stdout);
solve();
return 0;}