CSES - Harjoituskisa 7.1.2018 - Results
Submission details
Task:Inversiot
Sender:mika
Submission time:2018-01-07 20:18:05 +0200
Language:C++
Status:READY
Result:46
Feedback
groupverdictscore
#1ACCEPTED11
#2ACCEPTED35
#30
Test results
testverdicttimegroup
#1ACCEPTED0.04 s1details
#2ACCEPTED0.05 s1details
#3ACCEPTED0.04 s1details
#4ACCEPTED0.04 s1details
#5ACCEPTED0.04 s1details
#6ACCEPTED0.04 s2details
#7ACCEPTED0.05 s2details
#8ACCEPTED0.04 s2details
#9ACCEPTED0.05 s2details
#10ACCEPTED0.03 s2details
#11ACCEPTED0.15 s3details
#12ACCEPTED0.15 s3details
#13--3details
#14--3details
#15--3details

Compiler report

input/code.cpp: In function 'void invert(std::vector<int>&, int, int, int, int)':
input/code.cpp:19:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  if (i2 < v.size() - 1 - r)
         ^
input/code.cpp: In function 'int main()':
input/code.cpp:39:20: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i = 0; i < v.size(); i++)
                    ^
input/code.cpp:41:17: warning: ignoring return value of 'int system(const char*)', declared with attribute warn_unused_result [-Wunused-result]
  system("pause");
                 ^

Code

#include <iostream>
#include <vector>

using namespace std;

void flip(vector<int> &v, int i1, int i2)
{
	int temp = v[i1];
	v[i1] = v[i2];
	v[i2] = temp;
}

void invert(vector<int> &v, int k, int r = 0, int i1 = 0, int i2 = 1)
{
	if (k <= 0) return;

	flip(v, i1, i2);
	
	if (i2 < v.size() - 1 - r)
		invert(v, k - 1, r, i1 + 1, i2 + 1);
	else
		invert(v, k - 1, r + 1, 0, 1);
}

int main()
{
	int n;
	cin >> n;

	int k;
	cin >> k;

	vector<int> v;
	for (int i = 1; i <= n; i++)
		v.push_back(i);

	invert(v, k);

	for (int i = 0; i < v.size(); i++)
		cout << v[i] << " ";
	system("pause");
	return 0;
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
5 0

correct output
1 2 3 4 5 

user output
1 2 3 4 5 

Error:
sh: 1: pause: not found

Test 2

Group: 1

Verdict: ACCEPTED

input
5 1

correct output
2 1 3 4 5 

user output
2 1 3 4 5 

Error:
sh: 1: pause: not found

Test 3

Group: 1

Verdict: ACCEPTED

input
5 2

correct output
3 1 2 4 5 

user output
2 3 1 4 5 

Error:
sh: 1: pause: not found

Test 4

Group: 1

Verdict: ACCEPTED

input
5 4

correct output
5 1 2 3 4 

user output
2 3 4 5 1 

Error:
sh: 1: pause: not found

Test 5

Group: 1

Verdict: ACCEPTED

input
5 10

correct output
5 4 3 2 1 

user output
5 4 3 2 1 

Error:
sh: 1: pause: not found

Test 6

Group: 2

Verdict: ACCEPTED

input
100 0

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

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

Error:
sh: 1: pause: not found

Test 7

Group: 2

Verdict: ACCEPTED

input
100 1

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

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

Error:
sh: 1: pause: not found

Test 8

Group: 2

Verdict: ACCEPTED

input
100 990

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

user output
12 13 14 15 16 17 18 19 20 21 ...

Error:
sh: 1: pause: not found

Test 9

Group: 2

Verdict: ACCEPTED

input
100 1980

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

user output
24 25 26 27 28 29 30 31 32 33 ...

Error:
sh: 1: pause: not found

Test 10

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...

Error:
sh: 1: pause: not found

Test 11

Group: 3

Verdict: ACCEPTED

input
1000000 0

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

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

Error:
sh: 1: pause: not found

Test 12

Group: 3

Verdict: ACCEPTED

input
1000000 1

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

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

Error:
sh: 1: pause: not found

Test 13

Group: 3

Verdict:

input
1000000 99999900000

correct output
1000000 999999 999998 999997 9...

user output
(empty)

Test 14

Group: 3

Verdict:

input
1000000 199999800000

correct output
1000000 999999 999998 999997 9...

user output
(empty)

Test 15

Group: 3

Verdict:

input
1000000 499999500000

correct output
1000000 999999 999998 999997 9...

user output
(empty)