Submission #494492

#TimeUsernameProblemLanguageResultExecution timeMemory
494492ammar2000Mountains (NOI20_mountains)C++17
15 / 100
2083 ms262148 KiB
#include<bits/stdc++.h>
#define ll long long
#define pb push_back
#define F first
#define S second
#define coy cout<<"YES\n"
#define con cout<<"NO\n"
#define co1 cout<<"-1\n"
using namespace std;
const int SI=3e5+7;
ll INF=8e18+7;
int MOD=1e9+7;
ll n,a[SI],masr[SI],an[SI],ans;
map <ll,ll> mp;
int main()
{
   cin>>n;
   bool fl=0;
   for (int i=0;i<n;i++)
    {cin>>a[i];
    if (i&&a[i]<a[i-1])
        fl=1;}
    if (fl==0)
    {
        cout << 0;
        return 0;
    }
    for (int i=0;i<n;i++)
    {
        for (int t=0;t<a[i];t++)
            an[i]+=mp[t];
        mp[a[i]]++;
    }
    mp.clear();
    for (int i=n-1;i>=0;i--)
    {
        for (int t=0;t<a[i];t++)
            masr[i]+=mp[t];
        mp[a[i]]++;
    }
    for (int i=0;i<n;i++)
        ans+=masr[i]*an[i];
    cout <<ans ;
   return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...