CSES - Datatähti 2018 alku - Results
Submission details
Task:Kyselyt
Sender:Kisse
Submission time:2017-10-11 20:22:24 +0300
Language:Java
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.30 s1details
#20.35 s2details
#30.20 s3details

Code

import java.math.BigInteger;
import java.util.Scanner;

public class Kyselyt {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int q = input.nextInt();
        for (int i = 0; i < q; i++) {
            int index = input.nextInt();
            if (index < 10) {
                System.out.println(index);
            }
            else {
                int base = 10;
                int len = 2;
                while (true) {
                    if (index < base) {
                        len = len - 1;
                        if (len == 2) {
                            base = base - (90 * len);
                        }
                        else {
                            base = base - (100 * len);
                        }
                        break;
                    }
                    if (len == 2) {
                        base = base + (90 * len);
                    }
                    else {
                        base = base + (100 * len);
                    }
                    len = len + 1;
                }
                BigInteger value = new BigInteger("10");
                System.out.println(base + ", " + len + ", " + index);
                System.out.println(value.pow(len - 1).add(new BigInteger(Integer.toString(Math.floorDiv(index - base, len)))).toString().charAt((index - (base % len)) % len)); //+ Math.floorDiv(index - base, len)).charAt((index - (base % len)) % len);
            }
        }
    }
}

Test details

Test 1

Group: 1

Verdict:

input
1000
582
214
723
273
...

correct output
0
1
7
7
6
...

user output
490, 4, 582
1
190, 3, 214
1
490, 4, 723
...

Test 2

Group: 2

Verdict:

input
1000
615664
916441
627600
279508
...

correct output
1
2
3
2
2
...

user output
610390, 111, 615664
0
904390, 135, 916441
0
621490, 112, 627600
...

Test 3

Group: 3

Verdict:

input
1000
672274832941907421
260504693279721732
646999966092970935
100853063389774434
...

correct output
7
2
2
0
9
...

user output
(empty)

Error:
Exception in thread "main" java.util.InputMismatchException: For input string: "672274832941907421"
	at java.util.Scanner.nextInt(Scanner.java:2123)
	at java.util.Scanner.nextInt(Scanner.java:2076)
	at Kyselyt.main(Kyselyt.java:9)