Code Submission Evaluation System Login

Datatähti 2019 alku

Start:2018-10-01 00:00:00
End:2018-10-15 00:00:00
 

Tasks | Messages | Scoreboard | Statistics


CSES - Datatähti 2019 alku - Results
History
2018-10-10 09:43:30100
2018-10-10 09:40:580
2018-10-10 09:38:58
2018-10-08 17:48:1847
2018-10-07 11:51:3847
2018-10-06 22:36:430
2018-10-06 21:06:0512
2018-10-06 20:43:5412
2018-10-06 17:48:0612
2018-10-06 17:38:3412
2018-10-06 15:08:410
2018-10-06 13:19:4312
Task:Taulukko
Sender:valtteriilola
Submission time:2018-10-07 11:51:38
Language:C++
Status:READY
Score:47

Feedback

groupverdictscore
#1ACCEPTED12
#2ACCEPTED35
#3WRONG ANSWER0
#4WRONG ANSWER0

Test results

testverdicttime (s)group
#1ACCEPTED0.01 / 1.001details
#2ACCEPTED0.02 / 1.001details
#3ACCEPTED0.02 / 1.001details
#4ACCEPTED0.02 / 1.001details
#5ACCEPTED0.02 / 1.001details
#6ACCEPTED0.01 / 1.001details
#7ACCEPTED0.02 / 1.001details
#8ACCEPTED0.02 / 1.001details
#9ACCEPTED0.02 / 1.001details
#10ACCEPTED0.02 / 1.001details
#11ACCEPTED0.01 / 1.001details
#12ACCEPTED0.02 / 1.001details
#13ACCEPTED0.03 / 1.001details
#14ACCEPTED0.01 / 1.001details
#15ACCEPTED0.03 / 1.002details
#16ACCEPTED0.03 / 1.002details
#17ACCEPTED0.02 / 1.002details
#18ACCEPTED0.01 / 1.002details
#19ACCEPTED0.02 / 1.002details
#20ACCEPTED0.01 / 1.002details
#21ACCEPTED0.03 / 1.002details
#22ACCEPTED0.02 / 1.002details
#23ACCEPTED0.09 / 1.002details
#24ACCEPTED0.06 / 1.002details
#25ACCEPTED0.01 / 1.002details
#26ACCEPTED0.03 / 1.002details
#27ACCEPTED0.02 / 1.002details
#28ACCEPTED0.02 / 1.002details
#29WRONG ANSWER0.11 / 1.003details
#30ACCEPTED0.30 / 1.003details
#31WRONG ANSWER0.10 / 1.003details
#32WRONG ANSWER0.12 / 1.003details
#33ACCEPTED0.21 / 1.003details
#34TIME LIMIT EXCEEDED-- / 1.003details
#35ACCEPTED0.35 / 1.003details
#36TIME LIMIT EXCEEDED-- / 1.003details
#37WRONG ANSWER0.11 / 1.004details
#38ACCEPTED0.28 / 1.004details
#39WRONG ANSWER0.10 / 1.004details
#40WRONG ANSWER0.12 / 1.004details
#41ACCEPTED0.22 / 1.004details
#42ACCEPTED0.36 / 1.004details
#43TIME LIMIT EXCEEDED-- / 1.004details
#44TIME LIMIT EXCEEDED-- / 1.004details
#45TIME LIMIT EXCEEDED-- / 1.004details
#46WRONG ANSWER0.10 / 1.004details
#47WRONG ANSWER0.21 / 1.004details
#48TIME LIMIT EXCEEDED-- / 1.004details
#49WRONG ANSWER0.10 / 1.004details
#50WRONG ANSWER0.43 / 1.004details
#51WRONG ANSWER0.10 / 1.004details
#52WRONG ANSWER0.44 / 1.004details

Code

#include <iostream>
#include <unordered_set>
#include <vector>


using ul = unsigned long;

int main() {
    ul max_size, window_size;
    std::cin >> max_size >> window_size;

    auto grid = std::vector<int>(max_size);

    for (auto &num : grid) {
        std::cin >> num;
    }

    ul sum = 0;
    ul overlap = 0;

    auto left = grid.begin();
    auto right = grid.begin();

    std::unordered_set<int> seen;

    while (right != grid.end()) {
        if (seen.size() == window_size and not seen.count(*right)) {
            right--;
            int n = right - left + 1;
            sum += (n * (n + 1) / 2) - (overlap * (overlap + 1) / 2);

            while (seen.size() == window_size) {
                left++;
                seen = std::unordered_set<int>(left, right + 1);
            }
            overlap = right - left + 1;
        } else {
            seen.insert(*right);
        }
        right++;
    }

    int n = right - left;
    sum += (n * (n + 1) / 2) - (overlap * (overlap + 1) / 2);

    std::cout << sum << std::endl;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
100 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
5050
view   save

user output
5050
view   save

Test 2

Group: 1

Verdict: ACCEPTED

input
100 1
1 1 1 1 2 2 1 1 2 2 2 2 2 1 1 ...
view   save

correct output
190
view   save

user output
190
view   save

Test 3

Group: 1

Verdict: ACCEPTED

input
100 1
5 9 9 6 9 8 1 4 7 7 8 9 5 5 6 ...
view   save

correct output
110
view   save

user output
110
view   save

Test 4

Group: 1

Verdict: ACCEPTED

input
100 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
5050
view   save

user output
5050
view   save

Test 5

Group: 1

Verdict: ACCEPTED

input
100 2
2 1 2 1 2 2 1 1 2 1 1 2 1 2 1 ...
view   save

correct output
5050
view   save

user output
5050
view   save

Test 6

Group: 1

Verdict: ACCEPTED

input
100 2
2 3 1 1 2 2 3 1 2 1 1 1 3 3 1 ...
view   save

correct output
379
view   save

user output
379
view   save

Test 7

Group: 1

Verdict: ACCEPTED

input
100 2
4 6 10 8 6 8 10 8 4 7 8 9 6 2 ...
view   save

correct output
245
view   save

user output
245
view   save

Test 8

Group: 1

Verdict: ACCEPTED

input
100 5
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
5050
view   save

user output
5050
view   save

Test 9

Group: 1

Verdict: ACCEPTED

input
100 5
4 4 2 2 4 3 3 2 3 4 3 5 3 1 5 ...
view   save

correct output
5050
view   save

user output
5050
view   save

Test 10

Group: 1

Verdict: ACCEPTED

input
100 5
5 3 4 1 1 1 1 4 5 5 4 6 6 3 3 ...
view   save

correct output
1488
view   save

user output
1488
view   save

Test 11

Group: 1

Verdict: ACCEPTED

input
100 5
10 1 1 9 1 6 9 4 3 10 9 2 4 2 ...
view   save

correct output
743
view   save

user output
743
view   save

Test 12

Group: 1

Verdict: ACCEPTED

input
100 10
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
5050
view   save

user output
5050
view   save

Test 13

Group: 1

Verdict: ACCEPTED

input
100 10
9 4 9 1 9 1 5 2 10 10 9 3 9 6 ...
view   save

correct output
5050
view   save

user output
5050
view   save

Test 14

Group: 1

Verdict: ACCEPTED

input
100 10
80 59 58 87 28 83 83 93 96 24 ...
view   save

correct output
994
view   save

user output
994
view   save

Test 15

Group: 2

Verdict: ACCEPTED

input
5000 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
12502500
view   save

user output
12502500
view   save

Test 16

Group: 2

Verdict: ACCEPTED

input
5000 1
2 2 2 1 2 1 1 1 2 2 1 2 1 1 1 ...
view   save

correct output
10148
view   save

user output
10148
view   save

Test 17

Group: 2

Verdict: ACCEPTED

input
5000 1
434568 634119 102509 107238 72...
view   save

correct output
5000
view   save

user output
5000
view   save

Test 18

Group: 2

Verdict: ACCEPTED

input
5000 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
12502500
view   save

user output
12502500
view   save

Test 19

Group: 2

Verdict: ACCEPTED

input
5000 2
2 1 1 1 2 2 2 2 1 1 1 1 2 1 2 ...
view   save

correct output
12502500
view   save

user output
12502500
view   save

Test 20

Group: 2

Verdict: ACCEPTED

input
5000 2
1 3 2 2 3 3 1 2 1 2 1 2 3 1 2 ...
view   save

correct output
22451
view   save

user output
22451
view   save

Test 21

Group: 2

Verdict: ACCEPTED

input
5000 2
132968 414421 468358 432744 43...
view   save

correct output
9999
view   save

user output
9999
view   save

Test 22

Group: 2

Verdict: ACCEPTED

input
5000 100
93 76 87 71 93 74 69 35 92 96 ...
view   save

correct output
12502500
view   save

user output
12502500
view   save

Test 23

Group: 2

Verdict: ACCEPTED

input
5000 100
2 57 51 4 35 76 5 40 51 55 20 ...
view   save

correct output
2669737
view   save

user output
2669737
view   save

Test 24

Group: 2

Verdict: ACCEPTED

input
5000 100
657 823 1773 1801 2785 4107 25...
view   save

correct output
498978
view   save

user output
498978
view   save

Test 25

Group: 2

Verdict: ACCEPTED

input
5000 4999
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
12502500
view   save

user output
12502500
view   save

Test 26

Group: 2

Verdict: ACCEPTED

input
5000 4999
865706 910619 695192 183574 92...
view   save

correct output
12502500
view   save

user output
12502500
view   save

Test 27

Group: 2

Verdict: ACCEPTED

input
5000 5000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
12502500
view   save

user output
12502500
view   save

Test 28

Group: 2

Verdict: ACCEPTED

input
5000 5000
774752 159472 183796 654476 69...
view   save

correct output
12502500
view   save

user output
12502500
view   save

Test 29

Group: 3

Verdict: WRONG ANSWER

input
500000 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 30

Group: 3

Verdict: ACCEPTED

input
500000 1
28107328 613212742 298033960 7...
view   save

correct output
500000
view   save

user output
500000
view   save

Test 31

Group: 3

Verdict: WRONG ANSWER

input
500000 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 32

Group: 3

Verdict: WRONG ANSWER

input
500000 2
1 1 2 1 1 2 2 1 2 1 2 1 1 2 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 33

Group: 3

Verdict: ACCEPTED

input
500000 2
3 2 2 3 2 2 2 1 1 2 2 3 2 3 2 ...
view   save

correct output
2245355
view   save

user output
2245355
view   save

Test 34

Group: 3

Verdict: TIME LIMIT EXCEEDED

input
500000 2
1 1 1 2 2 2 1 1 2 1 1 2 1 2 1 ...
view   save

correct output
1570486882
view   save

user output
(empty)
view   save

Test 35

Group: 3

Verdict: ACCEPTED

input
500000 2
318961563 84011941 882177798 1...
view   save

correct output
999999
view   save

user output
999999
view   save

Test 36

Group: 3

Verdict: TIME LIMIT EXCEEDED

input
500000 2
1 1 2 1 2 1 2 1 2 2 2 2 1 2 1 ...
view   save

correct output
483793169
view   save

user output
(empty)
view   save

Test 37

Group: 4

Verdict: WRONG ANSWER

input
500000 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 38

Group: 4

Verdict: ACCEPTED

input
500000 1
709486749 350496125 796065873 ...
view   save

correct output
500000
view   save

user output
500000
view   save

Test 39

Group: 4

Verdict: WRONG ANSWER

input
500000 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 40

Group: 4

Verdict: WRONG ANSWER

input
500000 2
1 2 2 2 2 2 1 1 2 2 2 2 2 2 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 41

Group: 4

Verdict: ACCEPTED

input
500000 2
3 3 3 3 2 1 3 2 1 3 1 2 1 1 1 ...
view   save

correct output
2255047
view   save

user output
2255047
view   save

Test 42

Group: 4

Verdict: ACCEPTED

input
500000 2
414942284 362802746 108881396 ...
view   save

correct output
999999
view   save

user output
999999
view   save

Test 43

Group: 4

Verdict: TIME LIMIT EXCEEDED

input
500000 100
59 14 100 74 49 43 91 84 31 16...
view   save

correct output
260458849
view   save

user output
(empty)
view   save

Test 44

Group: 4

Verdict: TIME LIMIT EXCEEDED

input
500000 1000
505 511 86 321 780 495 106 330...
view   save

correct output
3694803834
view   save

user output
(empty)
view   save

Test 45

Group: 4

Verdict: TIME LIMIT EXCEEDED

input
500000 10000
4956 8463 8582 980 9278 1747 2...
view   save

correct output
41655235436
view   save

user output
(empty)
view   save

Test 46

Group: 4

Verdict: WRONG ANSWER

input
500000 100000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 47

Group: 4

Verdict: WRONG ANSWER

input
500000 100000
40198 78364 3724 51802 378 130...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 48

Group: 4

Verdict: TIME LIMIT EXCEEDED

input
500000 100000
320513086 811766509 339605137 ...
view   save

correct output
45001856854
view   save

user output
(empty)
view   save

Test 49

Group: 4

Verdict: WRONG ANSWER

input
500000 499999
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 50

Group: 4

Verdict: WRONG ANSWER

input
500000 499999
995132060 587162982 59723733 8...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 51

Group: 4

Verdict: WRONG ANSWER

input
500000 500000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...
view   save

correct output
125000250000
view   save

user output
446198416
view   save

Test 52

Group: 4

Verdict: WRONG ANSWER

input
500000 500000
72083718 753463162 730560260 6...
view   save

correct output
125000250000
view   save

user output
446198416
view   save