CSES - Datatähti 2016 alku - Results
Submission details
Task:Osajono
Sender:Pohjantahti
Submission time:2015-09-28 19:58:48
Language:Python3
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED12
#2ACCEPTED27
#3ACCEPTED61
Test results
testverdicttimegroup
#1ACCEPTED0.16 s1details
#2ACCEPTED0.15 s1details
#3ACCEPTED0.16 s1details
#4ACCEPTED0.15 s1details
#5ACCEPTED0.16 s1details
#6ACCEPTED0.15 s2details
#7ACCEPTED0.15 s2details
#8ACCEPTED0.16 s2details
#9ACCEPTED0.17 s2details
#10ACCEPTED0.16 s2details
#11ACCEPTED0.40 s3details
#12ACCEPTED0.19 s3details
#13ACCEPTED0.54 s3details
#14ACCEPTED0.56 s3details
#15ACCEPTED0.56 s3details

Code

import math
import cProfile

def binomialCoefficient(n, k):
    if n < k:
        return 0
    return math.factorial(n) / (math.factorial(k) * (math.factorial(n - k)))


input = input()

if len(input) == 0:
    print (0)
    sys.exit()

letterCounts = [0] * 26

for i in range(0, len(input)):
    letter = ord(input[i])
    letterCounts[letter - 65] += 1

subsets = 0
for i in range(0, 26):
    subsets += (binomialCoefficient(letterCounts[i], 2) + letterCounts[i])
    
print (math.floor(subsets))
 

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
BBBAABBBAAAABBAAAABAABAABBBBBB...

correct output
2554

user output
2554

Test 2

Group: 1

Verdict: ACCEPTED

input
GDFVYWQCZAFGICSXOSWBZMGPDBSSVL...

correct output
299

user output
299

Test 3

Group: 1

Verdict: ACCEPTED

input
AAAAAAAAAAAAAAAAAAAAAAAAAZAAAA...

correct output
4314

user output
4314

Test 4

Group: 1

Verdict: ACCEPTED

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
4231

user output
4231

Test 5

Group: 1

Verdict: ACCEPTED

input
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...

correct output
5050

user output
5050

Test 6

Group: 2

Verdict: ACCEPTED

input
BBABABBBABBAABBABBABAABAAABABA...

correct output
6253029

user output
6253029

Test 7

Group: 2

Verdict: ACCEPTED

input
RBKJMLDVQMKHYKCNDIVVKOMFUXTFMG...

correct output
485173

user output
485173

Test 8

Group: 2

Verdict: ACCEPTED

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
12427725

user output
12427725

Test 9

Group: 2

Verdict: ACCEPTED

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
12467549

user output
12467549

Test 10

Group: 2

Verdict: ACCEPTED

input
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...

correct output
12502500

user output
12502500

Test 11

Group: 3

Verdict: ACCEPTED

input
BAAAAABABBABAABAABABABBBABBAAB...

correct output
2500051369

user output
2500051369

Test 12

Group: 3

Verdict: ACCEPTED

input
ABBURXDRVXAYBPXXOQZNYHLWGUEEWR...

correct output
192407124

user output
192407124

Test 13

Group: 3

Verdict: ACCEPTED

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
4998050400

user output
4998050400

Test 14

Group: 3

Verdict: ACCEPTED

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
4998850144

user output
4998850144

Test 15

Group: 3

Verdict: ACCEPTED

input
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...

correct output
5000050000

user output
5000050000