#include <bits/stdc++.h>
using namespace std;
#define ll long long
const ll mmod = 998244353;
#define vl vector<long long>
#define vll vector<vector<long long>>
#define pl pair<long long, long long>
#define vb vector<bool>
int main(){
ios::sync_with_stdio(false);
cin.tie(nullptr);
ll n, q;
cin >> n >> q;
vl nums (n);
for (ll i = 0; i < n; i++){cin >> nums[i];}
ll l, r;
cin >> l >> r;
vl a (3000001, 0);
for (ll i = 0; i < n; i++)a[nums[i]]++;
vector<pl> pary;
for (ll i = 0; i < n; i++){if (nums[i] != 0){pary.push_back({a[i], i});}}
sort(pary.begin(), pary.end());
nums.clear();
for (auto x : pary){
for (ll i = 0; i < x.first; i++){
nums.push_back(x.second);
}
}
vl dp (n, 1);
for (ll i = 1; i < n; i++){
if (nums[i] == nums[i-1]){
dp[i] = dp[i-1]+1;
}
else{
dp[i] = dp[i-1] + 1 + i;
}
}
ll suma = 0;
for (ll i = 0; i < n; i++){suma += dp[i];}
cout << suma << "\n";
return 0;
}
| # | 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... |