Cod sursa(job #514730)

Utilizator andrei.dAndrei Diaconeasa andrei.d Data 19 decembrie 2010 14:55:21
Problema P-sir Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 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,curent;
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){
		curent=v[i];
		 for (j=0;j<i;++j){
			 cnt[i][j]=1;
			 
			 if (curent<v[j]){
			 for (k=0;k<j;++k)
				 if (curent>v[k])
				  cnt[i][j]+=cnt[j][k];
			 }else{
			 if (v[j]<curent)
			  for (k=0;k<j;++k)
				  if (v[k]>curent)
				  cnt[i][j]+=cnt[j][k];	
            }			  
			 ans+=cnt[i][j];
		 }
	}
	printf("%u\n", ans);

	return 0;
	
}