lotm0508

Untitled

Jun 23rd, 2025 (edited)
69
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | Source Code | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4.  
  5. int main()
  6. {
  7.   ios::sync_with_stdio(0);
  8.   cin.tie(0);
  9.  
  10.   int t;
  11.   cin>>t;
  12.   while(t--){
  13.     int n;
  14.     cin>>n;
  15.     map<int, vector<int>> m; //creating a map to store distinct elements and their indices
  16.     vector<int> v;
  17.     for (int i = 0; i < n; i++)
  18.     {
  19.       int e;
  20.       cin>>e;
  21.       v.push_back(e);
  22.       m[e].push_back(i);
  23.     }
  24.     sort(v.begin(), v.end());
  25.     int c = v[0]*(n-1); //cost = min element * ((i+1)-1) + min element * (n-(i+1))
  26.     for (int i = 0;i < n;i++)
  27.     {
  28.       if((m[v[i]].size()>1)&&(m[v[i]].back() - m[v[i]].front() == m[v[i]].size()-1)){  //checking for consecutive duplicates
  29.         c = min(c, v[i] * (m[v[i]].front() + (n - 1 - m[v[i]].back()))); //updating cost
  30.       }
  31.     }
  32.     cout<<c<<"\n";    
  33.   }
  34.  
  35. }
Tags: C++
Advertisement
Add Comment
Please, Sign In to add comment