第二题 int n, k; vector<int> vec; int main() { char pre,temp; string s; cin >> s >> k; n = s.size(); pre = 'n'; int count=0; int flag = true; for (int i = 0; i < n; i++) { temp=s[i]; if (pre == 'n') { pre = temp; count = 1; if (temp == '0') flag = false; continue; } if (temp != pre) { vec.push_back(count); //cout << count << endl; count = 0; } count++; pre = temp; } vec.push_back(count); //cout << count << endl; int i = 0; if (!flag) i = 1; int ans = 0; for ( ; i < vec.size(); i++) { int rest_k = k; int res = 0; for (int j = i; j < vec.size(); j++) { res += vec[j]; j++; if (j >= vec.size()) break; if (rest_k >= vec[j]) { res += vec[j]; rest_k -= vec[j]; } else { res += rest_k; rest_k = 0; break; } } if(rest_k > 0) { if (i >= 1) { res += min(vec[i - 1], rest_k); } ans = max(ans, res); break; } ans = max(ans, res); } cout << ans; }
点赞 评论

相关推荐

12-14 11:43
黑龙江大学 Java
用微笑面对困难:确实比较烂,可以这么修改:加上大学的qs排名,然后大学简介要写一些,然后硕士大学加大加粗,科研经历第一句话都写上在复旦大学时,主要负责xxxx,简历左上角把学校logo写上,建议用复旦大学的简历模板
点赞 评论 收藏
分享
程序员牛肉:你这简历有啥值得拷打的?在牛客你这种简历一抓一大把,也就是个人信息不一样而已。 关键要去找亮点,亮点啊,整个简历都跟流水线生产出来的一样。
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务