Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main()
- {
- ios::sync_with_stdio(0);
- cin.tie(0);
- int t;
- cin>>t;
- while(t--){
- int n;
- cin>>n;
- map<int, vector<int>> m; //creating a map to store distinct elements and their indices
- vector<int> v;
- for (int i = 0; i < n; i++)
- {
- int e;
- cin>>e;
- v.push_back(e);
- m[e].push_back(i);
- }
- sort(v.begin(), v.end());
- int c = v[0]*(n-1); //cost = min element * ((i+1)-1) + min element * (n-(i+1))
- for (int i = 0;i < n;i++)
- {
- if((m[v[i]].size()>1)&&(m[v[i]].back() - m[v[i]].front() == m[v[i]].size()-1)){ //checking for consecutive duplicates
- c = min(c, v[i] * (m[v[i]].front() + (n - 1 - m[v[i]].back()))); //updating cost
- }
- }
- cout<<c<<"\n";
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment