#include <bits/stdc++.h>
using namespace std;
/*
5 3
01001
2
1
5
2
1
1
1
*/
/*
Be:
11 3
11000111001
1 11 8
Ki:
2 3 2 2
*/
int main()
{
int n,q;
cin>>n>>q;
char sor[n];
scanf("%s",sor);
vector <int> valtasok(q);
for(int i=0;i<q;i++)
cin>>valtasok.at(i);
int nullak=0, egyesek=0;
if (sor[0]=='0')
nullak++;
else
egyesek++;
for(int i=1;i<n;i++)
{
if(sor[i]!=sor[i-1])
{
if (sor[i]=='0')
nullak++;
else
egyesek++;
}
}
cout<<min(nullak, egyesek)<<endl;
for(int i=0;i<q;i++)
{
int index=valtasok.at(i)-1;
if (index==0)
{
if (sor[0]=='0' && sor[1]=='0')
egyesek++;
else if (sor[0]=='1' && sor[1]=='1')
nullak++;
else if (sor[0]=='0' && sor[1]=='1')
nullak--;
else
egyesek--;
}
else if (index==n-1)
{
if (sor[n-1]=='0' && sor[n-2]=='0')
egyesek++;
else if (sor[n-1]=='1' && sor[n-2]=='1')
nullak++;
else if (sor[n-1]=='0' && sor[n-2]=='1')
nullak--;
else
egyesek--;
}
else
{
if (sor[index]=='0')
{
//csak 2 esetet dolgozok fel, a masik k;t esetben nem va;tozik a blokkok szama
if (sor[index-1]=='0' && sor[index+1]=='0')
{
nullak++;
egyesek++;
}
else if (sor[index-1]=='1' && sor[index+1]=='1')
{
nullak--;
egyesek--;
}
}
else //a valtozas helyen 1 van
{
if (sor[index-1]=='0' && sor[index+1]=='0')
{
nullak--;
egyesek--;
}
else if (sor[index-1]=='1' && sor[index+1]=='1')
{
nullak++;
egyesek++;
}
}
}
if (sor[index]=='0')
sor[index]='1';
else
sor[index]='0';
cout<<min(nullak, egyesek)<<endl;
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 3ms | 1880 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 2128 KiB | |||
3 | Elfogadva | 2/2 | 3ms | 2344 KiB | |||
4 | Elfogadva | 2/2 | 2ms | 2460 KiB | |||
5 | Elfogadva | 3/3 | 3ms | 2388 KiB | |||
6 | Elfogadva | 3/3 | 3ms | 2640 KiB | |||
7 | Elfogadva | 3/3 | 4ms | 3028 KiB | |||
8 | Elfogadva | 3/3 | 4ms | 3236 KiB | |||
9 | Elfogadva | 2/2 | 4ms | 3264 KiB | |||
10 | Elfogadva | 2/2 | 4ms | 3272 KiB | |||
11 | Elfogadva | 3/3 | 456ms | 6524 KiB | |||
12 | Elfogadva | 3/3 | 541ms | 7984 KiB | |||
13 | Elfogadva | 3/3 | 335ms | 9668 KiB | |||
14 | Elfogadva | 3/3 | 398ms | 11384 KiB | |||
15 | Elfogadva | 3/3 | 328ms | 12900 KiB | |||
16 | Elfogadva | 3/3 | 312ms | 14732 KiB | |||
17 | Elfogadva | 3/3 | 402ms | 16140 KiB | |||
18 | Elfogadva | 3/3 | 437ms | 17400 KiB | |||
19 | Elfogadva | 3/3 | 513ms | 18984 KiB | |||
20 | Elfogadva | 3/3 | 481ms | 20516 KiB |