247672026-02-15 00:09:48999Autókódoláscpp17Elfogadva 50/501ms316 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
/*
#pragma GCC target("avx2")
#pragma GCC optimize("O3")
#pragma GCC optimize("unroll-loops")
*/
using namespace std;
#define int long long

int strtonum(string s){
    int x=0;
    while(s[0]=='0'&&s.size()>1)s=s.substr(1,s.size()-1);
    for(int i = 0; i<=s.size()-1;i++){
        x+=s[i]-'0';
        if(i<s.size()-1)x*=2;
    }
    return x;
}

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    long long a;cin>>a;
    //cout<<strtonum("101");return 0;
    string s="";
    int tt=a;
    while(a>0){
        if(a%2)s='1'+s;
        else s='0'+s;
        a/=2;
    }
    string s1=s;
    int egycnt1=(s[s.size()-1]=='1'),lasti=0;
    for(int i = s.size()-2;i>=0;i--){
        if(s[i]=='1'&&s[i+1]=='0'){
            lasti=i+1;
            swap(s1[i],s1[i+1]);
            break;
        }
        if(s[i]=='1')egycnt1++;
    }
    for(int i = lasti+1;i<s.size();i++){
        if(egycnt1){s1[i]='1';egycnt1--;}
        else s1[i]='0';
    }
    cout<<(((tt+1)&tt)==0?-1:strtonum(s1))<<endl;
    string s2='0'+s;
    int egycnt=(s2[s2.size()-1]=='1'),lastind=-1;
    for(int i = s2.size()-2;i>=0;i--){
        if(s2[i]=='1')egycnt++;
        else if(s2[i+1]=='1'){
            lastind=i;
            break;
        }
    }
    for(int i = s2.size()-1;i>=0;i--){
        if(i>lastind&&egycnt>1){
            s2[i]='1';
            egycnt--;
        }
        else if(i>lastind){
            s2[i]='0';
        }
        else{
            s2[i]='1';
            break;
        }
    }
    cout<<strtonum(s2)<<endl;
}

RészfeladatÖsszpontTesztVerdiktIdőMemória
base50/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms316 KiB
3Elfogadva2/21ms316 KiB
4Elfogadva2/21ms316 KiB
5Elfogadva2/21ms316 KiB
6Elfogadva2/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Elfogadva4/41ms316 KiB
9Elfogadva4/41ms316 KiB
10Elfogadva4/41ms316 KiB
11Elfogadva4/41ms316 KiB
12Elfogadva4/41ms316 KiB
13Elfogadva4/41ms316 KiB
14Elfogadva4/41ms316 KiB
15Elfogadva4/41ms316 KiB
16Elfogadva4/41ms316 KiB
17Elfogadva4/41ms316 KiB