-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathA_And_Then_There_Were_K.java
More file actions
129 lines (96 loc) · 2.68 KB
/
A_And_Then_There_Were_K.java
File metadata and controls
129 lines (96 loc) · 2.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
import java.io.*;
import java.util.*;
public class A_And_Then_There_Were_K{
public static void main(String args[]){
FastReader sc=new FastReader();
int t=sc.nextInt();
while(t-->0){
int n=sc.nextInt();
int x=1;
while(true){
if(x*2>n){
System.out.println(x-1);
break;
}
x=x*2;
}
}
}
}
class FastReader {
BufferedReader br;
StringTokenizer st;
public FastReader()
{
// This code snippet is a part of the FastReader class
// as illsutrated above
// The try block runs when both input and output files
// are present in the specified directory.
try {
// We modify the input stream to take input
//from the input.txt file
br = new BufferedReader(new FileReader("input.txt"));
// We modify the output stream to print the output
// in the output.txt file
PrintStream out = new
PrintStream(new FileOutputStream("output.txt"));
System.setOut(out);
}
// In case the input or the output file is not found,
// a FileNotFoundException is thrown and we enter the
// catch block.
// Catch block to handle th exception
catch (Exception e) {
// Since an input file is not present, we take input
// from the usual system input stream.
br = new BufferedReader(
new InputStreamReader(System.in));
}
br = new BufferedReader(
new InputStreamReader(System.in));
}
String next()
{
while (st == null || !st.hasMoreElements()) {
try {
st = new StringTokenizer(br.readLine());
}
catch (IOException e) {
e.printStackTrace();
}
}
return st.nextToken();
}
int nextInt() { return Integer.parseInt(next()); }
long nextLong() { return Long.parseLong(next()); }
double nextDouble()
{
return Double.parseDouble(next());
}
float nextFloat()
{
return Float.parseFloat(next());
}
String nextLine()
{
String str = "";
try {
str = br.readLine();
}
catch (IOException e) {
e.printStackTrace();
}
return str;
}
int[] readArray(int n) {
int[] a=new int[n];
for (int i=0; i<n; i++) a[i]=nextInt();
return a;
}
static int gcd(int a, int b)
{
if (b == 0)
return a;
return gcd(b, a % b);
}
}