#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N = 3e5+10;
ll n,k;
int main()
{
cin>>n>>k;
string s;
cin>>s;
ll l=0,r;
ll cnt = 0;
ll cur = 0;
ll cnt2 = 0;
for(r=0;r<n;r++)
{
if(s[r]=='0')cnt++;
else cur += cnt,cnt2++;
while(l<r&&cur>k)
{
if(s[l]=='0')
{
cur -= cnt2;
cnt--;
}
else
{
cnt2--;
}
l++;
}
// cout<<l+1<<' '<<r+1<<' '<<cur<<'\n';
if(cur==k)
{
cout<<l+1<<' '<<r+1<<'\n';
return 0;
}
}
cout<<-1<<'\n';
return 0;
}
双指针

京公网安备 11010502036488号