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 C (GCC 5.4.1) (judge verdict: Wrong Answer)

#include<stdio.h>

int main(void){

int n;
int k=1;//桁数
int i;
int tagk;
float j;//除
int ans=0;
int dummy;
int kaijyou;

scanf("%d",&n);
j=n/10;//

while(j>=1){
    j=j/10;
    k++;
    
}

kaijyou=1;
for(i=1;i<k;i++){
    kaijyou=kaijyou*10;
    i++;
}
//printf("kaijyouha%d\n",kaijyou);


 int kosu[k+1];
 kosu[1]=9;
 kosu[3]=100;
 kosu[5]=80000;


//printf("%dの桁数は%dです\n",n,k);


if(k%2==0){
    for(i=1;i<=k-1;i=i+2){
        ans=ans+kosu[i];
    }
}
else{
    for(i=1;i<=k-2;i=i+2){
        ans=ans+kosu[i];
    }
dummy=n-kaijyou+1;
}
printf("%d\n",dummy);
ans=ans+dummy;
printf("%d",ans);


return 0;

}