#include <iostream>
using namespace std;
int main()
{
int n, k;
cin>>n>>k;
char t[n+1];
// 0 - kek
// 1 - piros
int db[2];
db[0]=0;
db[1]=0;
cin>>t[1];
db[t[1]-'0']++;
for(int i=2;i<=n;i++)
{
cin>>t[i];
if(t[i]!=t[i-1])
db[t[i]-'0']++;
}
//cout<<db[0]<<" "<<db[1]<<endl;
cout<<min(db[1],db[0])<<endl;
int ez;
for(int i=0;i<k;i++)
{
cin>>ez;
if(t[ez]=='1')
{
t[ez]='0';
if(ez==1)
{
if(t[ez]==t[ez+1])
db[1]--;
else
db[0]++;
}
else if (ez==n)
{
if(t[ez]==t[ez-1])
{
db[1]--;
}
else
db[0]++;
}
else
{
if(t[ez]==t[ez-1] && t[ez]==t[ez+1])
{
db[0]--;
db[1]--;
}
else if (t[ez]!=t[ez-1] && t[ez]!=t[ez+1])
{
db[0]++;
db[1]++;
}
}
}
else
{
t[ez]='1';
if(ez==1)
{
if(t[ez]==t[ez+1])
db[0]--;
else
db[1]++;
}
else if (ez==n)
{
if(t[ez]==t[ez-1])
db[0]--;
else
db[1]++;
}
else
{
if(t[ez]==t[ez-1] && t[ez]==t[ez+1])
{
db[1]--;
db[0]--;
}
else if (t[ez]!=t[ez-1] && t[ez]!=t[ez+1])
{
db[0]++;
db[1]++;
}
}
}
//cout<<"kek: "<<db[0]<<endl<<"piros: "<<db[1]<<endl;
//cout<<i+1<<". --> ";
cout<<min(db[1],db[0])<<endl;
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 2000 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 2172 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2304 KiB | |||
4 | Elfogadva | 2/2 | 2ms | 2388 KiB | |||
5 | Elfogadva | 3/3 | 3ms | 2628 KiB | |||
6 | Elfogadva | 3/3 | 3ms | 2732 KiB | |||
7 | Elfogadva | 3/3 | 4ms | 2836 KiB | |||
8 | Elfogadva | 3/3 | 4ms | 2940 KiB | |||
9 | Elfogadva | 2/2 | 4ms | 3220 KiB | |||
10 | Elfogadva | 2/2 | 4ms | 3192 KiB | |||
11 | Elfogadva | 3/3 | 522ms | 5008 KiB | |||
12 | Elfogadva | 3/3 | 501ms | 6716 KiB | |||
13 | Elfogadva | 3/3 | 518ms | 8440 KiB | |||
14 | Elfogadva | 3/3 | 474ms | 10120 KiB | |||
15 | Elfogadva | 3/3 | 455ms | 11652 KiB | |||
16 | Elfogadva | 3/3 | 300ms | 13360 KiB | |||
17 | Elfogadva | 3/3 | 435ms | 14784 KiB | |||
18 | Elfogadva | 3/3 | 300ms | 16248 KiB | |||
19 | Elfogadva | 3/3 | 474ms | 17836 KiB | |||
20 | Elfogadva | 3/3 | 504ms | 19436 KiB |