Untitled

 avatar
unknown
plain_text
6 months ago
1.0 kB
2
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