Pagini recente » Cod sursa (job #634516) | Cod sursa (job #1849039) | Cod sursa (job #1693348) | Cod sursa (job #1145571) | Cod sursa (job #2145941)
#include <fstream>
using namespace std;
ifstream cin ("psir.in");
ofstream cout ("psir.out");
long long date[100010],n,big[100010],small[100010],t=0;
void read ()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>date[i];
}
void solve ()
{ t=1; for(int i=1;i<=32;i++) t*=2; long long sum=0;
for(int i=2;i<=n;i++)
{
for(int j=1;j<i;j++) if(date[i]<date[j]) small[i]=(small[i]+big[j]+1)%t; else if(date[i]>date[j]) big[i]=(big[i]+small[j]+1)%t; else sum++,sum%=t;
}
for(int i=1;i<=n;i++) sum=(sum+big[i])%t,sum=(sum+small[i])%t;
cout<<sum;
}
int main()
{
read();
solve();
cin.close();
cout.close();
return 0;
}