CSES - Datatähti 2018 alku - Results
Submission details
Task:Kyselyt
Sender:10GOTO10
Submission time:2017-10-04 19:55:42 +0300
Language:Java
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.32 s1details
#20.24 s2details
#30.20 s3details

Code

import java.util.*;
import java.math.BigInteger;

class kyselyt
{
    static long[] in = new long[1001];
    static long[] digitsSum = new long[18];
    static int inputLen;
    static int digitsInNum;
    static int numWithAns;
    static String ans;
    public static void main (String[] args) throws java.lang.Exception
    {
        Scanner scanner = new Scanner(System.in);
        inputLen = scanner.nextInt();
        digitsSum[0] = 0;
        StringBuilder sb = new StringBuilder();
        for(int i = 0; i<inputLen; i++) {
            in[i] = scanner.nextLong();
            for(int j = 1; j<18; j++) {
                digitsSum[j] = digitsSum[j-1] + (long)(j*9*Math.pow(10, j-1));
                if(in[i]<=digitsSum[j] && in[i]>digitsSum[j-1]) digitsInNum = j;
            }
            numWithAns = (int)(Math.ceil((in[i]-digitsSum[digitsInNum-1])/(double)digitsInNum)+Math.pow(10, digitsInNum-1)-1);
            ans = Integer.toString(numWithAns);
            System.out.println(Character.getNumericValue(ans.charAt(digitsInNum-1-((int)((in[i]-digitsSum[digitsInNum-1])%digitsInNum)))));
        }
    }
}

Test details

Test 1

Group: 1

Verdict:

input
1000
582
214
723
273
...

correct output
0
1
7
7
6
...

user output
0
0
7
7
6
...

Test 2

Group: 2

Verdict:

input
1000
615664
916441
627600
279508
...

correct output
1
2
3
2
2
...

user output
2
7
3
5
4
...

Test 3

Group: 3

Verdict:

input
1000
672274832941907421
260504693279721732
646999966092970935
100853063389774434
...

correct output
7
2
2
0
9
...

user output
7
1

Error:
Exception in thread "main" java.lang.StringIndexOutOfBoundsException: String index out of range: 11
	at java.lang.String.charAt(String.java:658)
	at kyselyt.main(kyselyt.java:26)