i hv tested all type of cases ... i dont know wy m getting WA.
someone pls help me.....
#include<iostream>
#include<map>
#include <vector>
//#include<conio.h>
using namespace std;
int main(){
vector< int >v;
map<int ,bool>sis;
int x;
while(scanf("%d",&x)!=EOF)
v.push_back(x);
sis[x]=false;
int sz=v.size();
long int dp[sz+1];
for(int i=0;i<sz;i++){
dp[i]=1;
for(int j=0;j<i;j++){
if(v[j]==v[i])
dp[i]=1;
if(v[j]<v[i] && sis[v[j]]==false)
dp[i]=dp[i]+dp[j];
sis[v[j]]=true;
}
for(int j=0;j<i;j++)
sis[v[j]]=false;
}
long long int sum=0;
for(int i=0;i<sz;i++)
sum+=dp[i];
cout<<(sum-sz)<<"\n";
//getch();
}