Submission #2850877


Source Code Expand

#include <iostream>
#include <vector>
#include <algorithm>
#include <string>
#include <map>
#include <queue>
#include <numeric>
#include <climits>
#include <iterator>
using ll = long long;
#define REP(i,x) for(int i=0;i<(int)(x);i++)
#define REPS(i,x) for(int i=1;i<=int(x);i++)
#define RREP(i,x) for(int i=((int)(x)-1);i>=0;i--)
#define RREPS(i,x) for(int i=((int)(x));i>0;i--)
const ll mod = 1000000007;
int N, S, T;
int ans;
using namespace std;
void dfs(int a, int cnt){
    if(a>T) return ;
    if(a==T){
        ans = cnt;
        return;
    }
    dfs(a*2, cnt+1);
    dfs(a*2+1, cnt+1);
    return;
}
int main() {
     cin >> N >> S >> T;
    if(S>T) {
        cout << -1 << endl;
        return 0;
    }else if(S==T){
        cout << 0 << endl;
    }else{
        dfs(S, 0);
        if(ans==0) cout << -1 << endl;
        else cout << ans << endl;
    }
        
		return 0;
}

Submission Info

Submission Time
Task B - Camphor Tree
User hamray
Language C++14 (GCC 5.4.1)
Score 100
Code Size 927 Byte
Status AC
Exec Time 97 ms
Memory 256 KB

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 13
Set Name Test Cases
All 00_sample, 01_sample, 02_sample, max_01, max_02, max_03, max_04, max_05, max_06, max_07, max_08, max_09, min_00
Case Name Status Exec Time Memory
00_sample AC 1 ms 256 KB
01_sample AC 1 ms 256 KB
02_sample AC 1 ms 256 KB
max_01 AC 97 ms 256 KB
max_02 AC 1 ms 256 KB
max_03 AC 1 ms 256 KB
max_04 AC 1 ms 256 KB
max_05 AC 1 ms 256 KB
max_06 AC 1 ms 256 KB
max_07 AC 1 ms 256 KB
max_08 AC 1 ms 256 KB
max_09 AC 1 ms 256 KB
min_00 AC 1 ms 256 KB