CSES - Datatähti 2016 alku - Results
Submission details
Task:Osajono
Sender:viderizer
Submission time:2015-09-29 17:57:47 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1--1details
#2--1details
#3--1details
#4--1details
#5--1details
#6--2details
#7--2details
#8--2details
#9--2details
#10--2details
#11--3details
#12--3details
#13--3details
#14--3details
#15--3details

Compiler report

input/code.cpp: In function 'int main(int, char**)':
input/code.cpp:31:20: warning: iteration 25u invokes undefined behavior [-Waggressive-loop-optimizations]
         if (chars[i] % 2 == 0) {
                    ^
input/code.cpp:29:5: note: containing loop
     for (int i = 0; i < 26; i++) {
     ^

Code

#include <iostream>
#include <string>
#include <algorithm>

using std::cout;
using std::cin;
using std::string;
using std::count;

char indexToAlpha(int i) {
    char c = i+65;
    return c;
}

int main(int argc, char* argv[]) {
    // take input
    string input;
    cin >> input;

    // parse input
    int chars[25] = {0}; // A -> 0, B -> 1 ... Z -> 25
    for (int i = 0; i < 26; i++) {
        chars[i] = count(input.begin(), input.end(), indexToAlpha(i));
    }

    // do the actual things
    int sum = 0;

    for (int i = 0; i < 26; i++) {
        int p = 0;
        if (chars[i] % 2 == 0) {
            p = (chars[i] + 1) * (chars[i] / 2);
        } else {
            p = ((chars[i] + 1) * ((chars[i] - 1) / 2)) + ((chars[i] + 1) / 2);
        }
        sum += p;
    }

    // output
    cout << sum << "\n";
    return 0;
}

Test details

Test 1

Group: 1

Verdict:

input
BBBAABBBAAAABBAAAABAABAABBBBBB...

correct output
2554

user output
(empty)

Test 2

Group: 1

Verdict:

input
GDFVYWQCZAFGICSXOSWBZMGPDBSSVL...

correct output
299

user output
(empty)

Test 3

Group: 1

Verdict:

input
AAAAAAAAAAAAAAAAAAAAAAAAAZAAAA...

correct output
4314

user output
(empty)

Test 4

Group: 1

Verdict:

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
4231

user output
(empty)

Test 5

Group: 1

Verdict:

input
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...

correct output
5050

user output
(empty)

Test 6

Group: 2

Verdict:

input
BBABABBBABBAABBABBABAABAAABABA...

correct output
6253029

user output
(empty)

Test 7

Group: 2

Verdict:

input
RBKJMLDVQMKHYKCNDIVVKOMFUXTFMG...

correct output
485173

user output
(empty)

Test 8

Group: 2

Verdict:

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
12427725

user output
(empty)

Test 9

Group: 2

Verdict:

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
12467549

user output
(empty)

Test 10

Group: 2

Verdict:

input
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...

correct output
12502500

user output
(empty)

Test 11

Group: 3

Verdict:

input
BAAAAABABBABAABAABABABBBABBAAB...

correct output
2500051369

user output
(empty)

Test 12

Group: 3

Verdict:

input
ABBURXDRVXAYBPXXOQZNYHLWGUEEWR...

correct output
192407124

user output
(empty)

Test 13

Group: 3

Verdict:

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
4998050400

user output
(empty)

Test 14

Group: 3

Verdict:

input
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAA...

correct output
4998850144

user output
(empty)

Test 15

Group: 3

Verdict:

input
QQQQQQQQQQQQQQQQQQQQQQQQQQQQQQ...

correct output
5000050000

user output
(empty)