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 |
|
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 |