Submission #1170865

#TimeUsernameProblemLanguageResultExecution timeMemory
1170865domblyDiversity (CEOI21_diversity)C++20
4 / 100
7091 ms1864 KiB
#include <bits/stdc++.h> #define int long long #define F first #define S second using namespace std; const int N = 2e5 + 10; const int inf = 1e16 + 7; signed main() { ios_base::sync_with_stdio(false); cin.tie(NULL); int n, q; cin >> n >> q; vector<int> a(n + 1); for(int i = 1; i <= n; i++) cin >> a[i]; while(q--) { int l, r; cin >> l >> r; map<int,int> cnt; for(int i = l; i <= r; i++) cnt[a[i]]++; deque<int> v; vector<pair<int,int>> vec; for(auto X : cnt) vec.push_back({X.S, X.F}); sort(vec.rbegin(), vec.rend()); int p = 1; for(auto X : vec) { for(int i = 1; i <= X.F; i++) { if(p) v.push_front(X.S); else v.push_back(X.S); } p ^= 1; } int ans = 0; for(int i = 0; i < r - l + 1; i++) { set<int> st; for(int j = i; j < r - l + 1; j++) { st.insert(v[j]); ans += (int)st.size(); } } cout << ans << "\n"; } }
#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...