246072026-02-12 23:25:46999Autókódoláscpp17Részben helyes 41/502ms560 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
#define int long long

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    int x;cin>>x;
    int cnt=0,temp=x;
    string s="";
    while(temp>0){
        if(temp%2){
            s+='1';
        }
        else s+='0';
        cnt+=temp%2;
        temp/=2;
    }
    reverse(s.begin(),s.end());
    int n=s.size();
    int marnullak=0,nullaelottiind=-1;
    for(int i = n-1;i>=0;i--){
        if(s[i]=='0')marnullak=1;
        if(marnullak&&s[i]=='1')break;
        if(marnullak)nullaelottiind=i;
    }
    if(marnullak==0){
        cout<<-1<<endl;
        return 0;
    }
    string ss=s;
    ss[nullaelottiind]='1';
    ss[nullaelottiind-1]='0';
    int xx=0;
    xx+=ss[0]-'0';
    for(int i = 1;i<n;i++){
        xx*=2;
        xx+=ss[i]-'0';
    }
    cout<<xx<<endl;
    int elsonullaind=-1,voltmar1=0,hany1=0;
    for(int i = n-1;i>=0;i--){
        if(s[i]=='1'){
            voltmar1=1;
            hany1++;
        }
        if(s[i]=='0'&&voltmar1){
            elsonullaind=i;
            break;
        }
    }
    string sss=s;
    if(elsonullaind==-1){
        sss+='0';
    }
    else{
        sss[elsonullaind]='1';
        hany1--;
        for(int i=elsonullaind+1;i<n;i++)sss[i]='0';
        for(int i=n-1;i>=0&&hany1>0;i--){
           sss[i]='1';
           hany1--;
        }
    }
    int xxx=0;
    xxx+=sss[0]-'0';
    for(int i = 1;i<sss.size();i++){
        xxx*=2;
        xxx+=sss[i]-'0';
    }
    cout<<xxx<<endl;
}
RészfeladatÖsszpontTesztVerdiktIdőMemória
base41/50
1Elfogadva0/01ms316 KiB
2Elfogadva0/01ms500 KiB
3Részben helyes1/22ms316 KiB
4Elfogadva2/22ms316 KiB
5Részben helyes1/21ms316 KiB
6Részben helyes1/21ms316 KiB
7Elfogadva2/21ms316 KiB
8Részben helyes2/41ms316 KiB
9Elfogadva4/41ms560 KiB
10Elfogadva4/41ms316 KiB
11Elfogadva4/41ms316 KiB
12Elfogadva4/41ms316 KiB
13Részben helyes2/41ms552 KiB
14Elfogadva4/41ms316 KiB
15Elfogadva4/41ms332 KiB
16Részben helyes2/41ms508 KiB
17Elfogadva4/41ms316 KiB