Cod sursa(job #67589)

Utilizator razvi9Jurca Razvan razvi9 Data 25 iunie 2007 12:18:28
Problema P-sir Scor 30
Compilator cpp Status done
Runda preONI 2007, Runda Finala, Clasele 11-12 Marime 0.55 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]);
 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*(n-1)/2;
 for(i=1;i<=n;i++) 
  for(j=1;j<=n;j++)
   N=N+nr[i][j];
 printf("%u",N);
 fclose(stdout);
 return 0;}