Submission details
Task:Sort
Sender:Asarbardjarn
Submission time:2026-04-17 21:36:11 +0300
Language:C++ (C++23)
Status:READY
Result:13
Feedback
subtaskverdictscore
#1ACCEPTED6
#20
#3ACCEPTED7
#40
#50
#60
#70
Test results
testverdicttimesubtask
#10.00 s2, 6, 7details
#2ACCEPTED0.00 s1, 2, 3, 6, 7details
#3ACCEPTED0.00 s2, 6, 7details
#4ACCEPTED0.00 s1, 2, 3, 6, 7details
#5ACCEPTED0.00 s1, 2, 3, 6, 7details
#6ACCEPTED0.00 s1, 2, 3, 6, 7details
#7ACCEPTED0.00 s1, 2, 3, 6, 7details
#8ACCEPTED0.00 s1, 2, 3, 6, 7details
#9ACCEPTED0.00 s1, 2, 3, 6, 7details
#10ACCEPTED0.00 s1, 2, 3, 6, 7details
#11ACCEPTED0.00 s2, 6, 7details
#120.00 s2, 6, 7details
#130.00 s2, 6, 7details
#14ACCEPTED0.00 s2, 6, 7details
#150.00 s2, 6, 7details
#16ACCEPTED0.37 s3, 7details
#17ACCEPTED0.37 s3, 7details
#18ACCEPTED0.37 s3, 7details
#19ACCEPTED0.37 s3, 7details
#20ACCEPTED0.38 s3, 7details
#21ACCEPTED0.38 s3, 7details
#22ACCEPTED0.38 s3, 7details
#23ACCEPTED0.37 s3, 7details
#240.38 s4, 7details
#250.36 s4, 7details
#260.37 s4, 7details
#27ACCEPTED0.37 s4, 7details
#280.31 s4, 7details
#290.27 s4, 7details
#300.01 s5, 6, 7details
#310.01 s5, 6, 7details
#320.01 s5, 6, 7details
#330.01 s5, 6, 7details
#34ACCEPTED0.01 s5, 6, 7details
#350.01 s5, 6, 7details
#360.01 s6, 7details
#370.01 s6, 7details
#380.01 s6, 7details
#390.01 s6, 7details
#40ACCEPTED0.01 s6, 7details
#410.01 s6, 7details
#420.38 s7details
#430.38 s7details
#440.38 s7details
#450.37 s7details
#460.37 s7details
#470.37 s7details
#480.37 s7details
#49ACCEPTED0.37 s7details
#500.31 s7details
#510.28 s7details
#52ACCEPTED0.00 s1, 2, 3, 5, 6, 7details
#53ACCEPTED0.00 s1, 2, 3, 4, 5, 6, 7details
#540.00 s2, 5, 6, 7details
#55ACCEPTED0.00 s1, 2, 3, 4, 6, 7details
#56ACCEPTED0.00 s1, 2, 3, 6, 7details
#570.00 s6, 7details
#58ACCEPTED0.07 s3, 4, 7details
#59ACCEPTED0.07 s3, 7details
#600.00 s2, 6, 7details
#610.00 s2, 6, 7details
#620.00 s2, 6, 7details
#630.00 s2, 6, 7details
#640.00 s2, 6, 7details

Code

#include <bits/stdc++.h>

using namespace std;

struct Node {
	bool s;
	int mn, mx;
	int c1, c2;
} nil = {true, 1<<30, -1<<30, 0, 0};

int dv(int a, int b) {
	return a / b + (a % b ? 1 : 0);
}

struct SegTree {
	int n;
	vector<Node> v;
	SegTree (vector<int> w) : n(w.size()) {
		v.resize(4 * n, nil);
		build(0, 0, n, w);
	}
	void build(int i, int l, int r, const vector<int>& w) {
		if (l == r - 1) {
			v[i] = {true, w[l], w[l], w[l] == 1, w[l] == 2};
			return;
		}
		int m = (l + r) / 2;
		build(i * 2 + 1, l, m, w);
		build(i * 2 + 2, m, r, w);
		v[i] = merge(v[i * 2 + 1], v[i * 2 + 2]);
	}
	Node merge(Node L, Node R) {
		Node res;
		res.mn = min(L.mn, R.mn);
		res.mx = max(L.mx, R.mx);
		res.s = L.s && R.s && (L.mx <= R.mn);
		res.c1 = L.c1 + R.c1;
		res.c2 = L.c2 + R.c2;
		return res;
	}
	Node que(int i, int l, int r, int a, int b) {
		if (b <= l || r <= a) return nil;
		if (a <= l && r <= b) return v[i];
		int m = (l + r) / 2;
		return merge(que(i * 2 + 1, l, m, a, b), que(i * 2 + 2, m, r, a, b));
	}
	Node que(int l, int r) { return que(0, 0, n, l, r); }
};

int main() {
	ios_base::sync_with_stdio(0); cin.tie(0);
	int n, q; cin >> n >> q;
	vector<int> v(n); for (int& x : v) cin >> x;
	SegTree st(v);
	while (q--) {
		int a, b; cin >> a >> b;
		if (a + b <= n) {
			Node l = st.que(0, a), m = st.que(a, n - b), r = st.que(n - b, n);
			if (m.s && l.mx <= m.mn && m.mx <= r.mn && l.mx <= r.mn) cout << !l.s + !r.s << '\n';
			else cout << -1 << '\n';
			continue;
		}
		Node l = st.que(0, n - b), m = st.que(n - b, a), r = st.que(a, n);
		if (l.s && m.s && r.s) {
			cout << 0 << '\n';
			continue;
		}
		if (l.s && l.mx <= m.mn && l.mx <= r.mn) {
			cout << 1 << '\n';
			continue;
		}
		if (r.s && l.mx <= r.mn && m.mx <= r.mn) {
			cout << 1 << '\n';
			continue;
		}
		int ans = 3 * n;
		int o = a - (n - b);
		for (int s = 0; s < 2; s++) {
			int C[3];
			C[0] = l.c2;
			C[1] = m.c2;
			C[2] = r.c2;
			if (s) {
				int x = C[0] + C[1];
				C[1] = min(o, x);
				C[0] = x - C[1];
				ans = min(ans, 1 + 2 * min(dv(C[0], o), dv(n - a - C[2], o)));
			}
			{
				int x = C[1] + C[2];
				C[2] = min(n - a, x);
				C[1] = x - C[2];
				ans = min(ans, s + 1 + 2 * min(dv(C[0], o), dv(n - a - C[2], o)));
			}
			if (!s) {
				int x = C[0] + C[1];
				C[1] = min(o, x);
				C[0] = x - C[1];
				ans = min(ans, 2 + 2 * min(dv(C[0], o), dv(n - a - C[2], o)));
			}
		}
		if (ans >= 3 * n) cout << -1 << '\n';
		else cout << ans << '\n';
	}
}

Test details

Test 1

Subtask: 2, 6, 7

Verdict:

input
6 3
3 1 4 1 5 9
4 1
3 3
2 5

correct output
1
-1
2

user output
1
-1
1

Feedback: Incorrect character on line 3 col 1: expected "2", got "1"

Test 2

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
2 1
548813503 548813503
1 1

correct output
0

user output
0

Test 3

Subtask: 2, 6, 7

Verdict: ACCEPTED

input
1 1
417021999
1 1

correct output
0

user output
0

Test 4

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
10 10
20751947 20751947 20751947 494...

correct output
-1
-1
1
1
-1
...

user output
-1
-1
1
1
-1
...

Test 5

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
10 10
12780811 19475241 19475241 683...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 6

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
10 10
14574963 14574963 14574963 864...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 7

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
10 10
237541216 237541216 35036522 6...

correct output
-1
-1
-1
2
-1
...

user output
-1
-1
-1
2
-1
...

Test 8

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
10 10
319425549 513116712 539199939 ...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 9

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
10 10
54363219 54363219 110986323 11...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 10

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
10 5
55687086 550701455 326656159 5...

correct output
-1
-1
-1
-1
-1

user output
-1
-1
-1
-1
-1

Test 11

Subtask: 2, 6, 7

Verdict: ACCEPTED

input
10 10
35889584 588130796 815837475 8...

correct output
-1
-1
1
1
1
...

user output
-1
-1
1
1
1
...

Test 12

Subtask: 2, 6, 7

Verdict:

input
10 10
679842175 48724877 720966351 6...

correct output
2
3
2
1
1
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "2", got "1"

Test 13

Subtask: 2, 6, 7

Verdict:

input
10 10
893310183 811950921 338863962 ...

correct output
2
1
1
2
5
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "2", got "1"

Test 14

Subtask: 2, 6, 7

Verdict: ACCEPTED

input
10 10
221045363 282395847 441913686 ...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 15

Subtask: 2, 6, 7

Verdict:

input
10 10
509019662 983949268 960017302 ...

correct output
3
-1
3
3
3
...

user output
1
-1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "3", got "1"

Test 16

Subtask: 3, 7

Verdict: ACCEPTED

input
200000 200000
2277053 2277053 2277053 227705...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 17

Subtask: 3, 7

Verdict: ACCEPTED

input
200000 200000
6767 16596 16596 27202 37272 4...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 18

Subtask: 3, 7

Verdict: ACCEPTED

input
200000 200000
5393 5910 9099 15755 15755 164...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 19

Subtask: 3, 7

Verdict: ACCEPTED

input
200000 200000
3779 4629 8999 10468 22605 227...

correct output
-1
1
2
-1
-1
...

user output
-1
1
2
-1
-1
...

Test 20

Subtask: 3, 7

Verdict: ACCEPTED

input
200000 200000
878 2791 10849 11861 13405 239...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 21

Subtask: 3, 7

Verdict: ACCEPTED

input
200000 200000
430 1479 1992 2829 7152 14093 ...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 22

Subtask: 3, 7

Verdict: ACCEPTED

input
199997 200000
2733 10526 13882 14035 14689 3...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 23

Subtask: 3, 7

Verdict: ACCEPTED

input
200000 200000
12345 13538 15407 18490 18984 ...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 24

Subtask: 4, 7

Verdict:

input
200000 200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
-1
1
-1
-1
-1
...

user output
-1
1
-1
-1
-1
...

Feedback: Incorrect character on line 9 col 1: expected "5", got "4"

Test 25

Subtask: 4, 7

Verdict:

input
200000 200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1
-1
1
-1
1
...

user output
1
-1
1
-1
1
...

Feedback: Incorrect character on line 379 col 1: expected "2", got "1"

Test 26

Subtask: 4, 7

Verdict:

input
200000 200000
2 2 1 1 2 1 2 1 2 2 2 1 1 1 2 ...

correct output
4
3
2
2
6
...

user output
3
2
1
1
5
...

Feedback: Incorrect character on line 1 col 1: expected "4", got "3"

Test 27

Subtask: 4, 7

Verdict: ACCEPTED

input
200000 200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 28

Subtask: 4, 7

Verdict:

input
200000 200000
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

correct output
8513
1099
35939
9299
19597
...

user output
8512
1098
35938
9298
19596
...

Feedback: Incorrect character on line 1 col 4: expected "8513", got "8512"

Test 29

Subtask: 4, 7

Verdict:

input
200000 200000
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

correct output
178345
169257
62115
96143
64796
...

user output
178344
169256
62114
96142
64795
...

Feedback: Incorrect character on line 1 col 6: expected "178345", got "178344"

Test 30

Subtask: 5, 6, 7

Verdict:

input
5000 5000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
1
1
-1
1
-1
...

user output
1
1
-1
1
-1
...

Feedback: Incorrect character on line 11 col 1: expected "3", got "1"

Test 31

Subtask: 5, 6, 7

Verdict:

input
5000 5000
1 2 3 4 5 6 7 8 9 72 145 47 19...

correct output
-1
2
-1
2
-1
...

user output
-1
1
-1
1
-1
...

Feedback: Incorrect character on line 2 col 1: expected "2", got "1"

Test 32

Subtask: 5, 6, 7

Verdict:

input
4999 5000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
-1
2
-1
-1
-1
...

user output
-1
1
-1
-1
-1
...

Feedback: Incorrect character on line 2 col 1: expected "2", got "1"

Test 33

Subtask: 5, 6, 7

Verdict:

input
5000 5000
4033 4368 3086 3208 4313 388 8...

correct output
3
3
3
3
11
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "3", got "1"

Test 34

Subtask: 5, 6, 7

Verdict: ACCEPTED

input
5000 5000
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 35

Subtask: 5, 6, 7

Verdict:

input
5000 5000
5000 4999 4998 4997 4996 4995 ...

correct output
2039
1910
-1
687
673
...

user output
1
1
-1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "2039", got "1"

Test 36

Subtask: 6, 7

Verdict:

input
5000 5000
202010 457852 826471 926337 10...

correct output
-1
-1
2
-1
-1
...

user output
-1
-1
2
-1
-1
...

Feedback: Incorrect character on line 7 col 1: expected "3", got "1"

Test 37

Subtask: 6, 7

Verdict:

input
5000 5000
190583 326486 431922 462939 72...

correct output
-1
-1
-1
-1
2
...

user output
-1
-1
-1
-1
1
...

Feedback: Incorrect character on line 5 col 1: expected "2", got "1"

Test 38

Subtask: 6, 7

Verdict:

input
5000 5000
821998255 400550008 71790232 5...

correct output
5
3
3
2
5
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "5", got "1"

Test 39

Subtask: 6, 7

Verdict:

input
5000 5000
266174928 446601941 191252234 ...

correct output
3
3
414
4
3
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "3", got "1"

Test 40

Subtask: 6, 7

Verdict: ACCEPTED

input
5000 5000
11621 243915 243915 949123 137...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 41

Subtask: 6, 7

Verdict:

input
5000 5000
999767052 998555066 997822810 ...

correct output
919
459
505
833
809
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "919", got "1"

Test 42

Subtask: 7

Verdict:

input
200000 200000
478025 478025 478025 478025 47...

correct output
-1
-1
2
2
2
...

user output
-1
-1
1
1
1
...

Feedback: Incorrect character on line 3 col 1: expected "2", got "1"

Test 43

Subtask: 7

Verdict:

input
200000 200000
1810 2088 3022 3097 7459 7943 ...

correct output
2
-1
-1
2
-1
...

user output
1
-1
-1
1
-1
...

Feedback: Incorrect character on line 1 col 1: expected "2", got "1"

Test 44

Subtask: 7

Verdict:

input
199531 200000
11328 26391 30353 37063 44412 ...

correct output
-1
2
-1
2
2
...

user output
-1
1
-1
1
1
...

Feedback: Incorrect character on line 2 col 1: expected "2", got "1"

Test 45

Subtask: 7

Verdict:

input
200000 200000
106738201 369187074 412614650 ...

correct output
2
12
3
19
3
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "2", got "1"

Test 46

Subtask: 7

Verdict:

input
200000 200000
670611290 43427363 8475380 309...

correct output
3
5
3
3
3
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "3", got "1"

Test 47

Subtask: 7

Verdict:

input
200000 200000
907542569 504758282 948727805 ...

correct output
3
33
3
3
3
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "3", got "1"

Test 48

Subtask: 7

Verdict:

input
200000 200000
487056731 460461648 142698485 ...

correct output
3
3
3
3
3
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "3", got "1"

Test 49

Subtask: 7

Verdict: ACCEPTED

input
200000 200000
12772 23236 23236 23236 41149 ...

correct output
0
0
0
0
0
...

user output
0
0
0
0
0
...

Test 50

Subtask: 7

Verdict:

input
200000 200000
999993539 999993361 999993361 ...

correct output
125375
16687
-1
84781
46147
...

user output
1
1
-1
1
1
...

Feedback: Incorrect character on line 1 col 2: expected "125375", got "1"

Test 51

Subtask: 7

Verdict:

input
200000 200000
999993539 999993361 999993361 ...

correct output
94788
177608
95881
56377
179957
...

user output
1
1
1
1
1
...

Feedback: Incorrect character on line 1 col 1: expected "94788", got "1"

Test 52

Subtask: 1, 2, 3, 5, 6, 7

Verdict: ACCEPTED

input
5 1
2 1 3 5 4
2 2

correct output
2

user output
2

Test 53

Subtask: 1, 2, 3, 4, 5, 6, 7

Verdict: ACCEPTED

input
2 1
1 2
1 1

correct output
0

user output
0

Test 54

Subtask: 2, 5, 6, 7

Verdict:

input
4 1
2 1 4 3
3 2

correct output
2

user output
1

Feedback: Incorrect character on line 1 col 1: expected "2", got "1"

Test 55

Subtask: 1, 2, 3, 4, 6, 7

Verdict: ACCEPTED

input
10 10
1 1 1 1 2 2 1 1 2 2
7 1
2 6
4 5
...

correct output
-1
1
-1
-1
-1
...

user output
-1
1
-1
-1
-1
...

Test 56

Subtask: 1, 2, 3, 6, 7

Verdict: ACCEPTED

input
10 10
181777772 181777772 181777772 ...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 57

Subtask: 6, 7

Verdict:

input
100 10
92800811 524548163 939127795 9...

correct output
-1
-1
3
-1
3
...

user output
-1
-1
1
-1
1
...

Feedback: Incorrect character on line 3 col 1: expected "3", got "1"

Test 58

Subtask: 3, 4, 7

Verdict: ACCEPTED

input
100 100000
2 2 2 1 2 2 2 2 1 2 1 1 1 2 2 ...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 59

Subtask: 3, 7

Verdict: ACCEPTED

input
100 100000
172695325 172695325 172695325 ...

correct output
-1
-1
-1
-1
-1
...

user output
-1
-1
-1
-1
-1
...

Test 60

Subtask: 2, 6, 7

Verdict:

input
4 10
869194539 239439572 968540665 ...

correct output
-1
2
-1
-1
-1
...

user output
-1
1
-1
-1
-1
...

Feedback: Incorrect character on line 2 col 1: expected "2", got "1"

Test 61

Subtask: 2, 6, 7

Verdict:

input
10 10
55366041 112170735 112170735 5...

correct output
-1
-1
2
1
1
...

user output
-1
-1
1
1
1
...

Feedback: Incorrect character on line 3 col 1: expected "2", got "1"

Test 62

Subtask: 2, 6, 7

Verdict:

input
10 10
156018639 156018639 445832758 ...

correct output
-1
1
-1
-1
2
...

user output
-1
1
-1
-1
1
...

Feedback: Incorrect character on line 5 col 1: expected "2", got "1"

Test 63

Subtask: 2, 6, 7

Verdict:

input
10 10
702507512 702507512 892090406 ...

correct output
-1
2
-1
2
2
...

user output
-1
1
-1
1
1
...

Feedback: Incorrect character on line 2 col 1: expected "2", got "1"

Test 64

Subtask: 2, 6, 7

Verdict:

input
10 10
720324490 720324490 720324490 ...

correct output
-1
2
2
1
-1
...

user output
-1
1
1
1
-1
...

Feedback: Incorrect character on line 2 col 1: expected "2", got "1"