CSES - Datatähti 2016 alku - Results
Submission details
Task:Osajono
Sender:KARHU
Submission time:2015-10-06 15:39:35 +0300
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.06 s1details
#20.05 s1details
#30.05 s1details
#40.05 s1details
#50.06 s1details
#60.06 s2details
#70.05 s2details
#80.06 s2details
#90.06 s2details
#100.05 s2details
#110.06 s3details
#120.05 s3details
#130.06 s3details
#140.05 s3details
#150.05 s3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:11:18: warning: variable 'l' set but not used [-Wunused-but-set-variable]
     int i, j, k, l;
                  ^

Code

#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>

// g++ ...
#define __STDC_FORMAT_MACROS
#include <inttypes.h>

int main()
{
    int i, j, k, l;
    int maara;
    int *uolevi, *maija, *kaaleppi, *tmp;
    int virhe = 0;

    l = fscanf(stdin, "%d", &maara);

    uolevi = (int*)malloc(maara * sizeof(int));
    for(i = 0; i < maara; ++i)
        l = fscanf(stdin, "%d", &uolevi[i]);

    maija = (int*)malloc(maara * sizeof(int));
    for(i = 0; i < maara; ++i)
        l = fscanf(stdin, "%d", &maija[i]);

    kaaleppi = (int*)malloc(maara * sizeof(int));
    tmp = (int*)malloc(maara * sizeof(int));

    j = 1;
    for(i = 0; i < maara - (j - 1); ++i)
    {
        kaaleppi[i] = uolevi[(i + j) % maara];
        if(kaaleppi[i] == maija[i])
        {
            tmp[j - 1] = kaaleppi[i];
            --i;
            ++j;
        }
    }

    for(k = 0; k < (j - 1); ++k)
    {
        kaaleppi[i + k] = tmp[k];
        if(kaaleppi[i + k] == maija[i + k])
            virhe = 1;
    }

    if(virhe != 0)
    {
        j = 1;
        for(i = 0; i < maara - (j - 1); ++i)
        {
            kaaleppi[i] = maija[(i + j) % maara];
            if(kaaleppi[i] == uolevi[i])
            {
                tmp[j - 1] = kaaleppi[i];
                --i;
                ++j;
            }
        }

        for(k = 0; k < (j - 1); ++k)
        {
            kaaleppi[i + k] = tmp[k];
            if(kaaleppi[i + k] == uolevi[i + k])
                virhe = 1;
        }
    }

    for(i = 0; i < maara; ++i)
        printf("%u ", kaaleppi[i]);
    
    free(uolevi);
    free(maija);
    free(kaaleppi);
    free(tmp);
    
    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)