# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1215645 | KindaGoodGames | Diversity (CEOI21_diversity) | C++20 | 7083 ms | 328 KiB |
#pragma GCC optimize("O3, unroll-loops,Ofast")
#include<bits/stdc++.h>
// #define int long long
using namespace std;
int INF = numeric_limits<int>::max()/2;
int32_t main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int n,q;
cin>> n >> q;
vector<int>arr(n);
set<int> occ;
for(int i = 0; i < n; i++){
cin >> arr[i];
occ.insert(arr[i]);
}
// vector<int> sorted(occ.begin(),occ.end());
// map<int,int> toInd;
// for(int i = 0; i < sorted.size(); i++){
// toInd[sorted[i]] = i;
// }
// for(int i = 0; i < n; i++){
// arr[i] = toInd[arr[i]];
// }
while(q--){
int l,r;
cin >> l >> r;
l--;r--;
vector<int> cur;
for(int i = l; i <= r; i++){
cur.push_back(arr[i]);
}
sort(cur.begin(),cur.end());
int mi = INF;
do{
int sum = 0;
for(int i = 0; i < cur.size(); i++){
for(int j = i; j < cur.size(); j++){
occ.insert(cur[j]);
sum += occ.size();
}
}
mi = min(mi,sum);
}while(next_permutation(cur.begin(),cur.end()));
cout << mi << endl;
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |