CSES - Datatähti 2015 loppu - Results
Submission details
Task:Urkupillit
Sender:tomivah
Submission time:2015-01-29 14:20:11 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.05 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.06 s1details
#4ACCEPTED0.04 s1details
#5ACCEPTED0.07 s1details
#60.06 s2details
#7ACCEPTED0.06 s2details
#8ACCEPTED0.06 s2details
#9ACCEPTED0.06 s2details
#10ACCEPTED0.06 s2details
#110.06 s3details
#12--3details
#130.07 s3details
#140.05 s3details
#15--3details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:18:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for ( int i = 0; i < input.length(); ++i )
                        ^

Code

#include <iostream>
#include <cstdlib>
#include <algorithm>

int main()
{
    std::cin.sync_with_stdio( false );

    std::string input;
    getline( std::cin, input );
    input += ' ';

    int values[ 2 ];
    int cursor = 0;
    int valuesParsed = 0;

    for ( int i = 0; i < input.length(); ++i )
    {
        if ( input[ i ] == ' ' )
        {
            int value = atoi( input.substr( cursor, i - cursor ).c_str() );
            values[ valuesParsed ] = value;
            cursor = i + 1;
            valuesParsed++;
        }
    }

    int pipeCount = values[ 0 ];
    int reversePairCount = values[ 1 ];
    int* output = new int[ pipeCount ];

    int pairsSorted = 0;

    for ( int i = 0; i < pipeCount; ++i )
    {
        output[ i ] = i + 1;
    }
    
    while ( pairsSorted < reversePairCount )
    {
        for ( int i = pipeCount - 1; i > 0; --i )
        {
            if ( output[ i ] > output[ i - 1 ] )
            {
                int temp = output[ i ];
                output[ i ] = output[ i - 1 ];
                output[ i - 1 ] = temp;
                pairsSorted++;
            }
            
            if ( pairsSorted == reversePairCount )
            {
                for ( int j = 0; j < pipeCount; ++j )
                {
                    std::cout << output[ j ];

                    if ( j < pipeCount - 1 )
                    {
                        std::cout << ' ';
                    }
                }
                
                break;
            }
        }
    }

    return 0;
}

Test details

Test 1

Group: 1

Verdict:

input
5 0

correct output
1 2 3 4 5 

user output
(empty)

Test 2

Group: 1

Verdict: ACCEPTED

input
5 10

correct output
5 4 3 2 1 

user output
5 4 3 2 1

Test 3

Group: 1

Verdict: ACCEPTED

input
5 3

correct output
4 1 2 3 5 

user output
1 5 2 3 4

Test 4

Group: 1

Verdict: ACCEPTED

input
5 1

correct output
2 1 3 4 5 

user output
1 2 3 5 4

Test 5

Group: 1

Verdict: ACCEPTED

input
5 2

correct output
3 1 2 4 5 

user output
1 2 5 3 4

Test 6

Group: 2

Verdict:

input
100 0

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 7

Group: 2

Verdict: ACCEPTED

input
100 4950

correct output
100 99 98 97 96 95 94 93 92 91...

user output
100 99 98 97 96 95 94 93 92 91...

Test 8

Group: 2

Verdict: ACCEPTED

input
100 2279

correct output
100 99 98 97 96 95 94 93 92 91...

user output
100 99 98 97 96 95 94 93 92 91...

Test 9

Group: 2

Verdict: ACCEPTED

input
100 2528

correct output
100 99 98 97 96 95 94 93 92 91...

user output
100 99 98 97 96 95 94 93 92 91...

Test 10

Group: 2

Verdict: ACCEPTED

input
100 4483

correct output
100 99 98 97 96 95 94 93 92 91...

user output
100 99 98 97 96 95 94 93 92 91...

Test 11

Group: 3

Verdict:

input
100000 0

correct output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

user output
(empty)

Test 12

Group: 3

Verdict:

input
100000 4999950000

correct output
100000 99999 99998 99997 99996...

user output
(empty)

Test 13

Group: 3

Verdict:

input
100000 2969035543

correct output
100000 99999 99998 99997 99996...

user output
(empty)

Test 14

Group: 3

Verdict:

input
100000 2495939870

correct output
100000 99999 99998 99997 99996...

user output
(empty)

Test 15

Group: 3

Verdict:

input
100000 1279770330

correct output
100000 99999 99998 99997 99996...

user output
(empty)