【CodeForces 676】C - Vasya and String
啧啧啧,好不动脑的模拟。
好像wa 11..
不管了。。
因为有更简单的做法。。
#include<bits/stdc++.h>
using namespace std;
#define maxn 100010
char s[maxn];
int n,k;
int tab[maxn],cnt;
int dp[maxn];
int main(void)
{
scanf("%d%d",&n,&k);getchar();
gets(s+1);
int last = 1;
for(int i=2;i<=n;i++)
{
if(s[i]==s[i-1])
{
++last;
}
else
{
tab[++cnt] = last;
last = 1;
}
}
tab[++cnt] = last;
#ifdef check_tab
cout<<"Tab"<<endl;
for(int i=1;i<=cnt;i++)cout<<tab[i]<<endl;
#endif
//try 2 cases;
bool flag = true;last = 1;int nowans = tab[1];
int best = tab[1];int res = k;
for(int i=2;i<=cnt;i++,flag^=1)
{
if(flag&&i!=cnt)
{
if(tab[i]<=res)
{
res -= tab[i];
nowans+=tab[i];
cont