Submission details
Task:Mascot Song
Sender:intoo
Submission time:2018-07-23 16:14:00 +0300
Language:C++
Status:READY
Result:30
Feedback
groupverdictscore
#10
#2ACCEPTED30
#30
Test results
testverdicttimegroup
#10.03 s1details
#20.01 s1details
#30.02 s1details
#4ACCEPTED0.24 s2details
#5ACCEPTED0.28 s2details
#6ACCEPTED0.24 s2details
#70.11 s3details
#80.40 s3details
#90.43 s3details
#100.45 s3details

Code

#include <iostream>

using namespace std;

int A[404040];

int main() {
	int n, q, a, k, x, y;
	cin >> n;
	for (int i = 0; i < n; i++) {
		cin >> a;
		A[i]   = a;
		A[i+n] = a;
	}
	int B = 0;
	for (int i = 0; i < n; i++) {
		if (i == 0 || A[i] <= A[i-1]) B++;
	}
	cin >> q;
	int t = 0;
	for (int i = 0; i < q; i++) {
		cin >> k;
		if (k-1) {
			cin >> x;
			if (A[t] > A[t+n-1]) B--;
			t = (t+x)%n;
			if (A[t] > A[t+n-1]) B++;

		} else {
			cin >> x >> y;
			x += t;
			int l, r;
			if (x > t)  l = A[x-2] >= A[x-1];
			if (x < n+t)  r = A[x-1] >= A[x];
			A[x-1] = y;
			if (x > t) B += (int)(A[x-2] >= A[x-1]) - l;
			if (x < n+t) B += (int)(A[x-1] >= A[x]) - r;
		}
////	for (int i = t; i < n+t; i++) {
////		cout << A[i] << ' ';
////	} cout << endl;
		cout << B << "\n";
	}
}

Test details

Test 1

Group: 1

Verdict:

input
10
4 5 6 1 10 20 15 16 17 1
13
1 10 2
2 9
...

correct output
4
3
4
4
4
...

user output
4
3
4
4
4
...

Test 2

Group: 1

Verdict:

input
30
18 48 48 7 60 21 11 49 14 10 1...

correct output
16
17
17
17
16
...

user output
16
17
17
17
16
...

Test 3

Group: 1

Verdict:

input
100
11 16 18 16 14 7 6 1 22 8 19 5...

correct output
50
50
50
50
49
...

user output
50
50
50
50
49
...

Test 4

Group: 2

Verdict: ACCEPTED

input
80000
581256238 412911089 468450337 ...

correct output
39831
39830
39830
39830
39831
...

user output
39831
39830
39830
39830
39831
...

Test 5

Group: 2

Verdict: ACCEPTED

input
150000
2013 2014 2014 2014 2014 2014 ...

correct output
150000
149999
149998
149997
149996
...

user output
150000
149999
149998
149997
149996
...

Test 6

Group: 2

Verdict: ACCEPTED

input
190000
62 4981 98 3407 7210 6339 1348...

correct output
94991
94991
94991
94992
94992
...

user output
94991
94991
94991
94992
94992
...

Test 7

Group: 3

Verdict:

input
50000
446 494 191 356 886 78 470 223...

correct output
24959
24959
24960
24960
24960
...

user output
24959
24959
24960
24960
24960
...

Test 8

Group: 3

Verdict:

input
170333
1 1001 2001 3001 4001 5001 600...

correct output
2
3
3
3
4
...

user output
2
3
3
3
4
...

Test 9

Group: 3

Verdict:

input
200000
571574128 419362929 843317486 ...

correct output
100061
100061
100061
100060
100060
...

user output
100061
100061
100061
100060
100060
...

Test 10

Group: 3

Verdict:

input
200000
262656227 860259516 849559109 ...

correct output
99946
99946
99947
99947
99947
...

user output
99946
99946
99947
99947
99947
...