# Group for student JAVA programmers

Hey guys! I am new to Codechef here and am dealing with many problems (like TLE for most of the time) myself while solving competitive problems. So, I’ve decided to take on the practice problems in Java but I’ve noticed that there are very few submissions there to see and learn from. So I’ve decide to make a group in FB which will act as a platform to discuss our problems and solutions with our fellow Java programmers here. Anyone interested may follow this link : https://www.facebook.com/groups/127584137809470/

1 Like

If you are getting TLE due to slow I/O don’t use Scanner class .

I was getting TLE due to slow I/O during during April Long 17 for CLIQUED.

check out this :- [faster I/O in JAVA][1]

1 Like

Most of the time TLE is due to the naive algorithm and not I/O, but in JAVA it is good to use faster I/O.

1 Like

This is a code here for fast input output .

/FOR FAST INPUT/

final private int BUFFER_SIZE = 1 << 16;

``````private DataInputStream din;
private byte[] buffer;

{
din = new DataInputStream(System.in);
buffer = new byte[BUFFER_SIZE];
}

{
din = new DataInputStream(new FileInputStream(file_name));
buffer = new byte[BUFFER_SIZE];
}

{
byte[] buf = new byte[64]; // line length
int cnt = 0, c;
while ((c = read()) != -1)
{
if (c == '\n')
break;
buf[cnt++] = (byte) c;
}
return new String(buf, 0, cnt);
}

public int nextInt() throws IOException
{
int ret = 0;
while (c <= ' ')
boolean neg = (c == '-');
if (neg)
do
{
ret = ret * 10 + c - '0';
}  while ((c = read()) >= '0' && c <= '9');

if (neg)
return -ret;
return ret;
}

public long nextLong() throws IOException
{
long ret = 0;
while (c <= ' ')
boolean neg = (c == '-');
if (neg)
do {
ret = ret * 10 + c - '0';
}
while ((c = read()) >= '0' && c <= '9');
if (neg)
return -ret;
return ret;
}

public double nextDouble() throws IOException
{
double ret = 0, div = 1;
while (c <= ' ')
boolean neg = (c == '-');
if (neg)

do {
ret = ret * 10 + c - '0';
}
while ((c = read()) >= '0' && c <= '9');

if (c == '.')
{
while ((c = read()) >= '0' && c <= '9')
{
ret += (c - '0') / (div *= 10);
}
}

if (neg)
return -ret;
return ret;
}

private void fillBuffer() throws IOException
{
buffer[0] = -1;
}

{
fillBuffer();
return buffer[bufferPointer++];
}

public void close() throws IOException
{
if (din == null)
return;
din.close();
}
``````

}

public static void main(String args[]) throws IOException{