Submission #1181737

#TimeUsernameProblemLanguageResultExecution timeMemory
1181737den1z19Mountains (NOI20_mountains)C++17
64 / 100
2094 ms4932 KiB
#include "bits/stdc++.h" #include <vector> using std::cout, std::cin, std::vector, std::string; long long int left=0,right=0; long long int n,tmp,count=0; vector<std::pair<long long int, long long int>> h; void solve(){ cin >> n; h.clear(); h.reserve(n); count=0; for (long long int i =0; i<n;i++){ cin>>tmp; auto it = lower_bound( h.begin(), h.end(), std::make_pair(tmp, i), [](auto &a, auto &b){ return a.first < b.first; } ); h.insert(it, std::make_pair(tmp, i)); } for (long long int i=2;i<n;i++){ left=right=0; for (long long int j = 0; j<i;j++){ if (h[j].first == h[i].first) continue; if(h[i].second > h[j].second) left++; else right++; } count+=left*right; } cout << count << '\n'; } int main(){ std::ios::sync_with_stdio(false); cin.tie(nullptr); unsigned long long ct =1; // cin >> ct; while(ct--) solve(); }
#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...