#include #include using namespace std; int getK(string input) { string copy; int maxK = 0; int maxMoved = 0; int len = input.size(); int moved; for(int k = 1; k <= len; k++) { copy = input; moved = 0; for(int i = len-1; i >= 0; i--) { if(input[i] == '1' && i+k < len && input[i+k] == '0') { moved++; } } if(moved > maxMoved) { maxMoved = moved; maxK = k; } } return maxK; } int done(string& input) { for(int i = 0; i < input.size(); i++) { if(input[i] == '0') return 0; } return 1; } int main() { string input; getline(std::cin, input); if(input[0] == '0') { cout << (-1) << endl; return 0; } int len = input.size(); int rounds = 0; while(!done(input)) { int K = getK(input); //cout << "chose K: " << K << endl; for(int i = len-1; i >= 0; i--) { if(input[i] == '1') { if(i+K < len) { input[i+K] = '1'; } } } //cout << "updated input: " << input << endl; rounds++; } cout << rounds << endl; return 0; }