Cod sursa(job #514719)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 19 decembrie 2010 14:40:49
Problema P-sir Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>

#define file_in "psir.in"
#define file_out "psir.out"

#define nmax (1<<11)
//#define mod (long long)(1<<16)*(long long)(1<<16)

int n,i,j,k;
unsigned ans;
int v[nmax];
unsigned cnt[nmax][nmax];

int main(){
	
	freopen(file_in,"r",stdin);
	freopen(file_out,"w",stdout);
	
	
	scanf("%d", &n);
	for (i=0;i<n;++i)
		 scanf("%d", &v[i]);
	
	for (i=0;i<n;++i)
		 for (j=i+1;j<n;++j){
			 cnt[i][j]=1;
			 
			 if (v[i]<v[j]){
			 for (k=0;k<i;++k)
				  cnt[i][j]+=(v[j]<v[k])*cnt[k][i];
			 }else{
			 if (v[j]<v[i])
			  for (k=0;k<i;++k)
				  cnt[i][j]+=(v[j]>v[k])*cnt[k][i];	
			 }			  
			 ans+=cnt[i][j];
		 }
		 
	printf("%u\n", ans);

	return 0;
	
}