Submission #494494

#TimeUsernameProblemLanguageResultExecution timeMemory
494494ammar2000Mountains (NOI20_mountains)C++17
79 / 100
2087 ms8992 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; } if (n>10010) {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 ;} else { for (int i=1;i<n-1;i++) { ll f,s; f=s=0; for (int r=0;r<i;r++) f+=(a[i]>a[r]); for(int r=i+1;r<n;r++) s+=(a[i]>a[r]); ans+=f*s; } cout <<ans; } return 0; }

Compilation message (stderr)

Mountains.cpp: In function 'int main()':
Mountains.cpp:53:8: warning: this 'for' clause does not guard... [-Wmisleading-indentation]
   53 |        for(int r=i+1;r<n;r++)
      |        ^~~
Mountains.cpp:55:9: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'for'
   55 |         ans+=f*s;
      |         ^~~
#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...