Problem:
Score : 200 points

Problem Statement

Given is an integer N. Find the number of positive integers less than or equal to N that have an odd number of digits (in base ten without leading zeros).

Constraints

1 \leq N \leq 10^5

Input

Input is given from Standard Input in the following format:

N

Output

Print the number of positive integers less than or equal to N that have an odd number of digits.

Sample Input 1

11

Sample Output 1

9

Among the positive integers less than or equal to 11, nine integers have an odd number of digits: 1, 2, \ldots, 9.

Sample Input 2

136

Sample Output 2

46

In addition to 1, 2, \ldots, 9, another 37 integers also have an odd number of digits: 100, 101, \ldots, 136.

Sample Input 3

100000

Sample Output 3

90909

Solution in Java8 (OpenJDK 1.8.0) (judge verdict: Wrong Answer)



import java.util.*;
import java.io.*;
 
public class Main {
	
		
	
	public static void main(String args []) {
		InputReader obj = new InputReader(System.in);
		
		int a=obj.nextInt();
		if(a>=1&&a<10) {
			System.out.println(a);
		}
		else if(a>=10 && a<100) {
			System.out.println("9");
		}
		else if(a>=100 && a<1000) {
			int count=9+a-100+1;
			System.out.println(count);
		}
		else if(a>=1000&&a<10000) {
			System.out.println("910");
		}
		else if(a>=10000 && a<100000) {
			int cou=910+a-10000+1;
			System.out.println(cou);
		}
		else if(a==100000) {
			System.out.println("90911");
		}
	}
	public static class InputReader {
	    public BufferedReader reader;
	    public StringTokenizer tokenizer;
 
	    public InputReader(InputStream stream) {
	        reader = new BufferedReader(new InputStreamReader(stream), 32768);
	        tokenizer = null;
	    }
 
	    public String next() {
	        while (tokenizer == null || !tokenizer.hasMoreTokens()) {
	            try {
	                tokenizer = new StringTokenizer(reader.readLine());
	            } catch (IOException e) {
	                throw new RuntimeException(e);
	            }
	        }
	        return tokenizer.nextToken();
	    }
 
	    public int nextInt() {
	        return Integer.parseInt(next());
	    }
 
	    public long nextLong() {
	        return Long.parseLong(next());
	    }
	    
 
	}
}