Untitled
unknown
plain_text
a year ago
1.0 kB
5
Indexable
void Gojo(){
int n;cin>>n;
map<int,int> mp;
vector<int> v (n+1);
for(int i = 1 ; i <= n ; i++){
cin>> v[i];
}
v.push_back(0);
for(int i = 1 ; i <= n ; i++){
int idx1 = i , idx2 = n - i +1;
int curr = 0 , x =0;
if(v[idx1] == v[idx1 +1] && idx1 +1 <= n) curr++;
if(v[idx1] == v[idx1 -1]) curr++;
if(v[idx2] == v[idx2 +1])curr++;
if(v[idx2] == v[idx2 -1] && idx2 > 0)curr++;
if(v[idx2] == v[idx1 +1] && idx1 +1 <= n) x++;
if(v[idx2] == v[idx1 -1]) x++;
if(v[idx1] == v[idx2 +1])x++;
if(v[idx1] == v[idx2 -1] && idx2-1 > 0)x++;
// cout << curr << ' '<< x << endl;
if(curr > x)swap(v[idx1],v[idx2]);
}
int cnt = 0;
// for(int i = 1 ; i <= n ; i++)
// cout << v[i] <<' ';cout << endl;
for(int i = 1 ; i < n ; i++)
if(v[i] == v[i+1])
cnt++;
cout << cnt ;
}Editor is loading...
Leave a Comment