Submission #329145

#TimeUsernameProblemLanguageResultExecution timeMemory
329145poom2904Mountains (NOI20_mountains)C++11
64 / 100
2075 ms9364 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long int; int n; vector<ll> height(300001); vector<int> lower_l(300001,0); vector<int> lower_r(300001,0); int main() { ios_base::sync_with_stdio(false);cin.tie(0); cin>>n; for(int i=1;i<=n;i++)cin>>height[i]; vector<ll> tem1,tem2; for(int i=2;i<=n;i++) { tem1.insert(upper_bound(tem1.begin(),tem1.end(),height[i-1]),height[i-1]); lower_l[i]=lower_bound(tem1.begin(),tem1.end(),height[i])-tem1.begin(); } for(int i=n-1;i>=1;i--) { tem2.insert(upper_bound(tem2.begin(),tem2.end(),height[i+1]),height[i+1]); lower_r[i]=lower_bound(tem2.begin(),tem2.end(),height[i])-tem2.begin(); } ll res=0; for(int i=1;i<=n;i++)res+=lower_l[i]*lower_r[i]; cout<<res; 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...