CSES - JBOI 2014, day 2 - Results
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
...