3523 | 2023. 02. 28 16:57:55 | horvathabel | Autókódolás | cpp17 | Hibás válasz 23/50 | 3ms | 3772 KiB |
#include <bits/stdc++.h>
using namespace std;
using ll=long long;
int main() {
ll n;
cin>>n;
vector<ll> kettes;
ll cnt=0;
while (n>0){
kettes.push_back(n%2);
n/=2;
cnt++;
}
bool talalt=false;
bool egyestalalt=false;
bool sorozat=true;
vector<ll> mego;
for (int i=0; i<cnt;i++){
ll x=kettes[i];
if (x==0 && (!talalt)){
while (kettes[i]==0){
i++;
mego.push_back(0);
}
talalt=true;
mego[mego.size()-1]=1;
i--;
}
else{
if (!egyestalalt && talalt){
mego.push_back(0);
egyestalalt=true;
}
else mego.push_back(x);
}
}
reverse(mego.begin(),mego.end());
if (!talalt or !egyestalalt){
cout<<-1;
}
else{
ll z=1;
ll ans=0;
for (int i=cnt-1; i>=0;i--){
if (mego[i]==1) ans+=z;
z*=2;
}
cout<<ans;
}
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 23/50 | ||||||
1 | Hibás válasz | 0/0 | 3ms | 1808 KiB | |||
2 | Hibás válasz | 0/0 | 3ms | 2152 KiB | |||
3 | Részben helyes | 1/2 | 2ms | 2232 KiB | |||
4 | Részben helyes | 1/2 | 3ms | 2360 KiB | |||
5 | Hibás válasz | 0/2 | 3ms | 2360 KiB | |||
6 | Hibás válasz | 0/2 | 3ms | 2556 KiB | |||
7 | Részben helyes | 1/2 | 3ms | 2680 KiB | |||
8 | Részben helyes | 2/4 | 3ms | 2808 KiB | |||
9 | Részben helyes | 2/4 | 3ms | 3016 KiB | |||
10 | Részben helyes | 2/4 | 3ms | 3064 KiB | |||
11 | Részben helyes | 2/4 | 3ms | 3192 KiB | |||
12 | Részben helyes | 2/4 | 3ms | 3280 KiB | |||
13 | Részben helyes | 2/4 | 3ms | 3428 KiB | |||
14 | Részben helyes | 2/4 | 3ms | 3472 KiB | |||
15 | Részben helyes | 2/4 | 3ms | 3560 KiB | |||
16 | Részben helyes | 2/4 | 3ms | 3684 KiB | |||
17 | Részben helyes | 2/4 | 3ms | 3772 KiB |