245852026-02-12 21:03:52999Színezéscpp17Elfogadva 50/50419ms5072 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main() {
    int n,q;cin>>n>>q;
    string s;cin>>s;
    int cnt=0;
    char curr='2';
    vector<int> balrol(n),jobbrol(n);
    for(char c:s){
        if(c!=curr){
            cnt++;
            curr=c;
        }
    }
    for(int i = 1;i<n;i++){
        if(s[i]!=s[i-1])balrol[i]=1;
    }
    for(int i = 0;i<n-1;i++){
        if(s[i]!=s[i+1])jobbrol[i]=1;
    }
    cout<<cnt/2<<endl;
    for(int i = 0;i<q;i++){
        /*for(int i = 0;i<n;i++){
            cout<<balrol[i]<<' '<<jobbrol[i]<<endl;
        }*/
        int a;cin>>a;
        a--;
        if(balrol[a]&&jobbrol[a]){
            cnt-=2;
            balrol[a]=jobbrol[a]=0;
            balrol[a+1]=0;jobbrol[a-1]=0;
        }
        else if(balrol[a]){
            jobbrol[a-1]=0;
            balrol[a]=0;
            if(a<n-1){
                jobbrol[a]=1;
                balrol[a+1]=1;
            }
            else cnt--;
        }
        else if(jobbrol[a]){
            balrol[a+1]=0;
            jobbrol[a]=0;
            if(a>0){
                balrol[a]=1;
                jobbrol[a-1]=1;
            }
            else cnt--;
        }
        else{
            if(a<n-1){
                balrol[a+1]=1;
                cnt++;
            }
            if(a>0){
                jobbrol[a-1]=1;
                cnt++;
            }
            if(a<n-1)jobbrol[a]=1;
            if(a>0)balrol[a]=1;
        }
        cout<<cnt/2<<endl;
    }

}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/03ms568 KiB
3Elfogadva2/21ms508 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva3/31ms316 KiB
6Elfogadva3/31ms500 KiB
7Elfogadva3/33ms316 KiB
8Elfogadva3/33ms508 KiB
9Elfogadva2/23ms356 KiB
10Elfogadva2/22ms316 KiB
11Elfogadva3/3419ms5036 KiB
12Elfogadva3/3418ms4896 KiB
13Elfogadva3/3407ms4904 KiB
14Elfogadva3/3407ms4896 KiB
15Elfogadva3/3419ms4932 KiB
16Elfogadva3/3407ms4916 KiB
17Elfogadva3/3418ms5060 KiB
18Elfogadva3/3407ms5072 KiB
19Elfogadva3/3397ms5060 KiB
20Elfogadva3/3416ms5072 KiB