H题为何只能通过40%的测试数据😂 #include <bits/stdc++.h> using namespace std; vector<int> v0, v1; int main() {     int n, k;     string s;     int ans = 0;          cin >> n >> k;     cin >> s;          for (int i = 0; i < n; i++)     {         if (s[i] == '0')         {             v0.push_back(i);         }         else         {             v1.push_back(i);         }     }     if (k >= v0.size())     {         ans = n;     }     else     {         for (int i = 0, j = 1; i < v0.size(); i++)         {             j = i + 1;             while (v0[j] - v0[i] - 1 < k)             {                 j++;             }             if (v0[j] - v0[i] - 1 == k)             {                 ans = max(ans, v0[j] - v0[i] + 1);             }             else             {                 ans = max(ans, v0[j - 1] - v0[i] + 1);             }         }     }     if (k >= v1.size())     {         ans = n;     }     else     {         for (int i = 0, j = 1; i < v1.size(); i++)         {             j = i + 1;             while (v1[j] - v1[i] - 1 < k)             {                 j++;             }             if (v1[j] - v1[i] - 1 == k)             {                 ans = max(ans, v1[j] - v1[i] + 1);             }             else             {                 ans = max(ans, v1[j - 1] - v1[i] + 1);             }         }     }     cout << ans << endl;     return 0; }
点赞 1

相关推荐

笑着秋招😊:我一直认为努力有回报是一件很幸福很幸福的事情,恭喜你
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务