Cod sursa(job #67820)

Utilizator razvi9Jurca Razvan razvi9 Data 25 iunie 2007 17:33:03
Problema P-sir Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include<stdio.h>

long a[2001],i,j,k,n;
unsigned long nr[2001][2001],N;

int sgn(long x,long y)
{if(x<y) return -1;
 if(x==y) return 0;
 return 1;}

int main()
{freopen("psir.in","r",stdin);
 freopen("psir.out","w",stdout);
 scanf("%ld",&n);
 for(i=1;i<=n;i++)
  scanf("%ld",&a[i]);
 N=n*(n-1)/2;
 for(i=1;i<n-1;i++)
  for(j=i+1;j<n;j++)
   for(k=j+1;k<=n;k++)
    if((sgn(a[k],a[i])*sgn(a[k],a[j])) < 0)  
	{nr[j][k]=nr[j][k]+nr[i][j]+1;
	  N=N+nr[i][j]+1;}
 printf("%u",N);
 fclose(stdout);
 return 0;}