92B - Binary Number - CodeForces Solution


greedy *1300

Please click on ads to support us..

Python Code:

s=input()
x=s.count("1")
y=s.rfind("1")
ans=len(s)+y-x+2*(x>1)
print(ans)

C++ Code:

#include<algorithm>
#include<cmath>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<functional>
#include<iomanip>
#include<iostream>
#include<map>
#include<numeric>
#include<queue>
#include<set>
#include<stack>
#include<string>
#include<time.h>
#include<utility>
#include<vector>

typedef long long int ll;
typedef unsigned long long int ull;

#define dbg printf("in\n");
#define nl printf("\n");
#define N 200
#define inf 1000000000
#define pp pair<char,int>

using namespace std;

int main()
{
    //freopen("in.txt", "r", stdin);

    int i,j,k;
    int n,m;
    string s,t;

    cin>>s;

    int cnt=0;
    for(i=s.length()-1;i>0;i--)
    {
        if(s[i]=='0')
            cnt++;
        else if(s[i]=='1')
            cnt+=2,s[i-1]++;
        else
            cnt++,s[i-1]++;
    }

    if(s[0]=='2')
        cnt++;

    cout<<cnt;

    return 0;
}


Comments

Submit
0 Comments
More Questions

1080A - Petya and Origami
1642D - Repetitions Decoding
1440A - Buy the String
1658F - Juju and Binary String
478A - Initial Bet
981A - Antipalindrome
365A - Good Number
1204B - Mislove Has Lost an Array
1409D - Decrease the Sum of Digits
1476E - Pattern Matching
1107A - Digits Sequence Dividing
1348A - Phoenix and Balance
1343B - Balanced Array
1186A - Vus the Cossack and a Contest
1494A - ABC String
1606A - AB Balance
1658C - Shinju and the Lost Permutation
1547C - Pair Programming
550A - Two Substrings
797B - Odd sum
1093A - Dice Rolling
1360B - Honest Coach
1399C - Boats Competition
1609C - Complex Market Analysis
1657E - Star MST
1143B - Nirvana
1285A - Mezo Playing Zoma
919B - Perfect Number
894A - QAQ
1551A - Polycarp and Coins