CSES - HIIT Open 2016 - Results
Submission details
Task:HIIT remains
Sender:Verto
Submission time:2016-05-28 14:30:11 +0300
Language:Java
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.15 sdetails
#2ACCEPTED0.29 sdetails
#3ACCEPTED0.41 sdetails
#4ACCEPTED0.35 sdetails

Code

import java.util.Vector;
import java.util.Scanner;
import java.util.ArrayList;
import java.util.List;
class H {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
String target = "HIIT";
for (int tt = 0; tt < t; tt++) {
String s = sc.next();
long[] sli = new long[4];
long[] prev = new long[4];
for (int i = 0; i < s.length(); i++) {
char a = s.charAt(i);
for (int j = 0; j < target.length(); j++) {
sli[j] = prev[j];
}
for (int j = 0; j < target.length(); j++) {
char b = target.charAt(j);
if (a != b)
continue;
if (j == 0)
sli[j] += 1;
else
sli[j] += prev[j-1];
}
for (int j = 0; j < target.length(); j++) {
prev[j] = sli[j];
}
}
System.out.println(prev[prev.length-1]);
}
}
}

Test details

Test 1

Verdict: ACCEPTED

input
100
IIITIIIHITHTHIIITIII
HIHIIIIIIHIIITHIIIII
ITTIIIITIIIIIIITIIIT
IITHITITIHHIITTTIIII
...

correct output
12
84
0
37
96
...

user output
12
84
0
37
96
...

Test 2

Verdict: ACCEPTED

input
100
TIIHHITTITITIHTHIIIITHIHHIIHTI...

correct output
606723862
621369559
655243897
550750615
717769300
...

user output
606723862
621369559
655243897
550750615
717769300
...

Test 3

Verdict: ACCEPTED

input
10
TTHTHHTIIIIIITHIIHIITITTITTIIH...

correct output
64668032062669502
66159978956790306
65755072918424640
64408596558953628
65238005187079543
...

user output
64668032062669502
66159978956790306
65755072918424640
64408596558953628
65238005187079543
...

Test 4

Verdict: ACCEPTED

input
3
HHHHHHHHHHHHHHHHHHHHHHHHHHHHHH...

correct output
781234375000000000
4999750003
0

user output
781234375000000000
4999750003
0