Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author : Saurav Kalsoor
- // String Transformations - JAVA
- import java.util.*;
- public class Test {
- static Scanner sc = new Scanner(System.in);
- public static void main(String[] args) {
- int n = sc.nextInt();
- int k = sc.nextInt();
- String str = sc.next();
- System.out.println(stringTransformations(n, k, str));
- }
- public static int stringTransformations(int n, int k, String s){
- char[] str = s.toCharArray();
- int first = -1, last = -1;
- for(int i = 0;i < n; i++){
- if(str[i] == '1'){
- if(first == -1){
- first = i;
- }else{
- last = i;
- }
- }
- }
- if(first == -1){
- return 0;
- }else if(last == -1){
- return 1;
- }
- int count = 2;
- str[first] = '2';
- str[last] = '2';
- int prevChanged = first;
- while(prevChanged < last){
- if(last - prevChanged <= k)
- return count;
- int i = -1;
- for(int j = prevChanged+1; j <= Math.min(n - 1, (prevChanged + k)); j++){
- if(str[j] == '1'){
- i = j;
- }
- }
- if(i == -1){
- return -1;
- }
- prevChanged = i;
- str[prevChanged] = '2';
- count++;
- }
- return count;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement