108 | 2021. 01. 12 13:38:12 | Babják Péter | SzÃnezés | cpp11 | Elfogadva 50/50 | 300ms | 17484 KiB |
#include <iostream>
#include <algorithm>
#include <string>
#define ll long long
using namespace std;
int main()
{
ios_base::sync_with_stdio(false);cin.tie(NULL);cout.tie(NULL);
int n,k;cin>>n>>k;
bool t[n];//egy adott pozíció színe
int pk[2];pk[0]=0;pk[1]=0;//pk[0] hány 0ás egybefüggõ szakasz van. pk[1] hány 1es egybefüggõ szakasz van.
string s;cin>>s;
t[0]=(s[0]=='1');pk[t[0]]++;//színezés
for(int i=1;i<n;i++)
{
t[i]=(s[i]=='1');
if(t[i]!=t[i-1])
{
pk[t[i]]++;
}
}
cout<<min(pk[0],pk[1])<<endl;
n--;
for(int i=0;i<k;i++)
{
int q;
cin>>q;
q--;
if(q>0 && q<n)
{
if(t[q+1]==t[q-1])
{
if(t[q]==t[q-1])// .....111.... vagy ....000... azaz ha qt megváltoztatjuk kettévágunk egy szakaszt, azaz egyel több 0ás,1el több 1 es lesz.
{
pk[0]++;
pk[1]++;
}
else//.....010...... vagy .....101.... q változtatásával egyesítünk 2 szakaszt,szóval mindkettõbõl kevesebb lesz 1el.
{
pk[0]--;
pk[1]--;
}
}
}
else//q az elsõ vagy az utolsó elem
{
if(q==0 ) //n==1?
{
if((t[0]!=t[1]))
{
pk[t[0]]--;
}
else
{
pk[!t[0]]++;
}
}
if(q==n)
{
if(t[n-1]!=t[n])
{
pk[t[n]]--;
}
else
{
pk[!t[n]]++;
}
}
}
t[q]=!t[q];
cout<<min(pk[0],pk[1])<<endl;
}
return 0;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 50/50 | ||||||
1 | Elfogadva | 0/0 | 1ms | 1752 KiB | |||
2 | Elfogadva | 0/0 | 2ms | 1944 KiB | |||
3 | Elfogadva | 2/2 | 1ms | 1860 KiB | |||
4 | Elfogadva | 2/2 | 1ms | 1860 KiB | |||
5 | Elfogadva | 3/3 | 1ms | 1864 KiB | |||
6 | Elfogadva | 3/3 | 1ms | 1872 KiB | |||
7 | Elfogadva | 3/3 | 2ms | 1880 KiB | |||
8 | Elfogadva | 3/3 | 3ms | 1892 KiB | |||
9 | Elfogadva | 2/2 | 3ms | 1928 KiB | |||
10 | Elfogadva | 2/2 | 3ms | 1940 KiB | |||
11 | Elfogadva | 3/3 | 289ms | 4336 KiB | |||
12 | Elfogadva | 3/3 | 284ms | 5812 KiB | |||
13 | Elfogadva | 3/3 | 282ms | 7264 KiB | |||
14 | Elfogadva | 3/3 | 282ms | 8728 KiB | |||
15 | Elfogadva | 3/3 | 300ms | 10192 KiB | |||
16 | Elfogadva | 3/3 | 296ms | 11640 KiB | |||
17 | Elfogadva | 3/3 | 284ms | 13104 KiB | |||
18 | Elfogadva | 3/3 | 273ms | 14560 KiB | |||
19 | Elfogadva | 3/3 | 280ms | 16024 KiB | |||
20 | Elfogadva | 3/3 | 289ms | 17484 KiB |