CSES - Siperia opettaa 5.0 - Results
Submission details
Task:Distribution Center
Sender:kh
Submission time:2017-03-09 13:59:16 +0200
Language:C++
Status:READY
Result:0
Feedback
groupverdictscore
#10
Test results
testverdicttime
#1ACCEPTED0.02 sdetails
#2ACCEPTED0.03 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.04 sdetails
#60.03 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.02 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.03 sdetails
#13ACCEPTED0.12 sdetails
#14ACCEPTED0.12 sdetails
#15ACCEPTED0.04 sdetails
#160.32 sdetails
#170.30 sdetails
#180.32 sdetails
#190.30 sdetails
#200.29 sdetails
#210.32 sdetails
#220.31 sdetails
#230.31 sdetails
#240.30 sdetails
#250.31 sdetails
#260.49 sdetails
#270.56 sdetails
#280.48 sdetails
#290.54 sdetails
#300.49 sdetails
#310.43 sdetails
#320.41 sdetails
#330.41 sdetails
#340.38 sdetails
#350.41 sdetails
#36--details
#37ACCEPTED0.04 sdetails
#38ACCEPTED0.03 sdetails

Code

#include <bits/stdc++.h>

using namespace std;
typedef long long ll;

int main() {

	int n, m;
	cin >> n >> m;
	map<int, set<int> >p;
	for (int i = 1; i<n; i++) {
	    set<int> s;
	    p[i] = s; 
	}
	for (int i = 0; i<m; i++) {
	    int x, y;
	    cin >> x >> y;
	    p[y].insert(x);
	}
	for (int i = 1; i<=n; i++) {
	    int t = 1;
	    int y = i-1;
	    set<int> s = p[y];
	    if (y > 0 && s.size() > 0) {
	        t++; //cout << "a ";
	        auto it = s.end();
	        it--;
	        while (true) {
	            int x = *it;
	            y--;
	            set<int> s = p[y];
	            if (y <= 0 || s.size() == 0) break;
	            auto it = s.lower_bound(x);
	            if (it == s.begin() && *it > x) break;
	            t++;// cout << "b ";
	        }
	    }
	    y = i;
	    if (y < n) {
	    set<int> s = p[y];
	    if (s.size() > 0) {
	    t++;// cout << "c ";
	        auto it = s.end();
	        it--;
	        while (true) {
	        int x = *it;
	            y++;
	            set<int> s = p[y];
	            if (y >= n || s.size() == 0) break;
	            auto it = s.lower_bound(x);
	            //cout << *it << " " << x << "d";
	            if (*it > x) break;
	            t++; //cout << "e ";
	        }
	    }
	    }
	    cout << t << " ";
	}
	cout << "\n";
	return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
4 3
1000 1
2000 2
3000 3

correct output
2 3 4 4

user output
2 3 4 4 

Test 2

Verdict: ACCEPTED

input
4 3
1 1
3 2
2 3

correct output
2 4 4 2

user output
2 4 4 2 

Test 3

Verdict: ACCEPTED

input
10 9
100 1
200 2
300 3
400 4
...

correct output
2 3 4 5 6 7 8 9 10 10

user output
2 3 4 5 6 7 8 9 10 10 

Test 4

Verdict: ACCEPTED

input
10 9
100 9
200 8
300 7
400 6
...

correct output
10 10 9 8 7 6 5 4 3 2

user output
10 10 9 8 7 6 5 4 3 2 

Test 5

Verdict: ACCEPTED

input
10 9
100 1
200 9
300 2
400 8
...

correct output
2 3 4 5 10 10 5 4 3 2

user output
2 3 4 5 10 10 5 4 3 2 

Test 6

Verdict:

input
10 9
100 5
200 4
300 6
400 3
...

correct output
6 6 5 4 3 3 4 5 6 6

user output
9 8 6 4 3 3 5 7 9 10 

Test 7

Verdict: ACCEPTED

input
10 9
100 5
200 5
300 5
400 5
...

correct output
1 1 1 1 2 2 1 1 1 1

user output
1 1 1 1 2 2 1 1 1 1 

Test 8

Verdict: ACCEPTED

input
10 9
100 3
200 7
300 3
400 7
...

correct output
1 1 2 2 1 1 2 2 1 1

user output
1 1 2 2 1 1 2 2 1 1 

Test 9

Verdict: ACCEPTED

input
10 1
1 1

correct output
2 2 1 1 1 1 1 1 1 1

user output
2 2 1 1 1 1 1 1 1 1 

Test 10

Verdict: ACCEPTED

input
10 1
99999 1

correct output
2 2 1 1 1 1 1 1 1 1

user output
2 2 1 1 1 1 1 1 1 1 

Test 11

Verdict: ACCEPTED

input
10 1
99999 9

correct output
1 1 1 1 1 1 1 1 2 2

user output
1 1 1 1 1 1 1 1 2 2 

Test 12

Verdict: ACCEPTED

input
10 1
99999 1

correct output
2 2 1 1 1 1 1 1 1 1

user output
2 2 1 1 1 1 1 1 1 1 

Test 13

Verdict: ACCEPTED

input
100000 1
1 1

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

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

Test 14

Verdict: ACCEPTED

input
100000 1
1 99999

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

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

Test 15

Verdict: ACCEPTED

input
3 3
1 1
2 2
3 1

correct output
3 3 3

user output
3 3 3 

Test 16

Verdict:

input
100000 99999
51613 84082
3120 88303
90089 57457
82323 36322
...

correct output
2 3 3 1 2 2 1 2 2 1 2 3 3 2 2 ...

user output
2 3 3 1 2 2 1 2 2 1 2 3 3 2 2 ...

Test 17

Verdict:

input
100000 99999
55166 92759
72522 49885
91041 58065
66993 66182
...

correct output
1 1 2 4 4 4 4 5 5 5 2 1 3 3 3 ...

user output
1 1 2 9 4 4 6 3 9 9 2 1 3 3 3 ...

Test 18

Verdict:

input
100000 99999
90524 19551
22558 32618
68813 64252
16920 55138
...

correct output
2 3 3 3 3 2 2 2 3 3 3 5 5 5 1 ...

user output
2 3 3 3 3 2 2 2 5 3 3 4 5 6 1 ...

Test 19

Verdict:

input
100000 99999
543 67313
25302 10820
96818 55943
93056 11560
...

correct output
1 1 2 2 2 2 3 3 3 1 3 3 4 4 2 ...

user output
1 1 2 2 2 2 3 3 3 1 4 3 4 4 2 ...

Test 20

Verdict:

input
100000 99999
7098 91097
88439 4005
35386 17063
1917 86090
...

correct output
1 3 3 5 5 3 6 6 6 3 4 4 1 3 3 ...

user output
1 3 3 9 6 3 7 6 6 3 8 11 1 3 3...

Test 21

Verdict:

input
100000 99999
61671 26653
41901 6290
45318 73847
46486 71566
...

correct output
2 2 2 2 2 4 4 2 2 4 4 4 4 5 5 ...

user output
2 2 2 2 2 4 4 2 2 4 4 4 6 9 9 ...

Test 22

Verdict:

input
100000 99999
46666 39205
52562 49064
91772 40120
98068 12889
...

correct output
2 2 4 4 3 3 3 2 3 3 2 2 6 6 5 ...

user output
2 2 5 5 3 3 3 2 3 3 2 2 6 6 5 ...

Test 23

Verdict:

input
100000 99999
53478 77769
62382 16090
33315 61136
81654 27389
...

correct output
1 1 1 1 4 4 3 4 4 3 3 3 3 4 4 ...

user output
1 1 1 1 7 7 3 5 5 3 3 3 3 4 4 ...

Test 24

Verdict:

input
100000 99999
47015 74422
77958 41967
26483 37045
52560 21334
...

correct output
2 2 3 3 3 1 1 1 2 2 2 4 4 4 4 ...

user output
2 2 2 3 3 1 1 1 2 2 2 3 4 4 4 ...

Test 25

Verdict:

input
100000 99999
30444 72197
95332 46416
50857 42241
79810 99621
...

correct output
1 1 2 2 2 4 4 4 4 6 6 2 3 3 3 ...

user output
1 1 2 2 2 6 4 3 4 6 8 2 3 3 3 ...

Test 26

Verdict:

input
100 99999
15682 14
57251 20
83099 50
57485 33
...

correct output
100 100 100 100 100 100 100 10...

user output
2 6 4 5 6 18 9 9 11 11 18 13 1...

Test 27

Verdict:

input
100 99999
77171 16
89815 40
18710 40
25372 60
...

correct output
100 100 100 100 100 100 100 10...

user output
2 72 4 50 6 8 8 9 50 11 12 15 ...

Test 28

Verdict:

input
100 99999
69498 75
45431 25
35804 53
35830 44
...

correct output
100 100 100 100 100 100 100 10...

user output
2 7 4 7 6 7 50 10 10 50 12 50 ...

Test 29

Verdict:

input
100 99999
14287 85
73750 52
14953 80
27802 96
...

correct output
100 100 100 100 100 100 100 10...

user output
2 3 14 14 8 7 8 14 14 12 12 14...

Test 30

Verdict:

input
100 99999
60021 48
2240 89
45435 4
18160 44
...

correct output
100 100 100 100 100 100 100 10...

user output
2 23 4 6 6 21 10 9 10 12 12 15...

Test 31

Verdict:

input
200000 99999
6459 28754
89524 100200
40972 165007
35542 79232
...

correct output
2 3 3 2 2 1 1 2 2 1 1 2 2 2 2 ...

user output
2 3 3 2 2 1 1 2 2 1 1 2 2 2 2 ...

Test 32

Verdict:

input
200000 99999
91854 42500
34291 59129
21533 24543
12870 128293
...

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

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

Test 33

Verdict:

input
200000 99999
88029 49150
1821 18264
32450 150397
87753 44993
...

correct output
3 3 2 1 1 1 1 1 2 2 1 1 2 3 3 ...

user output
3 3 2 1 1 1 1 1 2 2 1 1 2 3 3 ...

Test 34

Verdict:

input
200000 99999
18637 75106
91405 193095
10716 115503
78702 119750
...

correct output
1 2 2 1 1 1 1 2 2 1 3 3 2 1 1 ...

user output
1 2 2 1 1 1 1 2 2 1 3 3 2 1 1 ...

Test 35

Verdict:

input
200000 99999
18742 152060
38942 104683
46001 85720
9675 93087
...

correct output
1 1 1 2 3 3 1 1 1 1 1 2 4 4 2 ...

user output
1 1 1 2 3 3 1 1 1 1 1 2 4 4 2 ...

Test 36

Verdict:

input
100000 99999
1 99999
2 99998
3 99997
4 99996
...

correct output
100000 100000 99999 99998 9999...

user output
(empty)

Test 37

Verdict: ACCEPTED

input
4 3
1000 1
2000 2
3000 3

correct output
2 3 4 4

user output
2 3 4 4 

Test 38

Verdict: ACCEPTED

input
4 3
1 1
3 2
2 3

correct output
2 4 4 2

user output
2 4 4 2