Submission #260974

# Submission time Handle Problem Language Result Execution time Memory
260974 2020-08-11T08:58:55 Z trainee Building Skyscrapers (CEOI19_skyscrapers) C++17
54 / 100
544 ms 26740 KB
#include <bits/stdc++.h>

using namespace std;

#define int long long
#define rep(i,a,n) for(int i = a; i<n; i++)
#define per(i,a,n) for(int i = n-1; i>=a; i--)

map<pair<int,int>,bool> vis;
map<pair<int,int>,int> idx;
int n,t;

int max(int a,int b){return (a>b)?a:b;}
int min(int a,int b){return (a<b)?a:b;}


signed main(){
    ios_base::sync_with_stdio(false);
    cin.tie(0);

    cin>>n>>t;
    bool f = false;
    pair<int,int> start = make_pair(-1,-1);
    rep(i,0,n){
        int x,y;
        cin>>x>>y;
        idx[make_pair(x,y)] = i+1;
        vis[make_pair(x,y)] = false;
        if(!f || x > start.first)start = make_pair(x,y),f = true;
    }

    priority_queue<pair<int,int> > pq;
    vector<pair<int,int> > res;
    pq.push(start);
    vis[start] = true;
    while(!pq.empty()){
        pair<int,int> node = pq.top();
        pq.pop();
        res.push_back(node);
        rep(i,-1,2){
         rep(j,-1,2){
            if(i==0&&j==0)continue;
            pair<int,int> e = node;
            e.first += i;
            e.second += j;
            if(vis.find(e) != vis.end() && !vis[e]){
                vis[e] = true;
                pq.push(e);
            }
        }   
        }

    }
    bool works = true;
    for(auto i:vis){
        works &= i.second;
    }
    if(works){
        cout<<"YES\n";
        for(auto i:res){
            cout<<idx[i]<<" ";
        }
        cout<<"\n";
    }else{
        cout<<"NO\n";
    }


}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB ans=YES N=1
2 Correct 0 ms 384 KB ans=YES N=4
3 Correct 0 ms 384 KB ans=NO N=4
4 Correct 0 ms 384 KB ans=YES N=5
5 Correct 1 ms 384 KB ans=YES N=9
6 Correct 0 ms 384 KB ans=YES N=5
7 Correct 1 ms 384 KB ans=NO N=9
8 Correct 1 ms 384 KB ans=NO N=10
9 Correct 1 ms 384 KB ans=YES N=10
10 Correct 1 ms 384 KB ans=YES N=10
11 Correct 1 ms 384 KB ans=YES N=10
12 Correct 1 ms 384 KB ans=YES N=9
13 Correct 1 ms 512 KB ans=YES N=9
14 Correct 0 ms 384 KB ans=YES N=8
15 Correct 1 ms 384 KB ans=YES N=8
16 Correct 1 ms 384 KB ans=NO N=2
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB ans=YES N=1
2 Correct 0 ms 384 KB ans=YES N=4
3 Correct 0 ms 384 KB ans=NO N=4
4 Correct 0 ms 384 KB ans=YES N=5
5 Correct 1 ms 384 KB ans=YES N=9
6 Correct 0 ms 384 KB ans=YES N=5
7 Correct 1 ms 384 KB ans=NO N=9
8 Correct 1 ms 384 KB ans=NO N=10
9 Correct 1 ms 384 KB ans=YES N=10
10 Correct 1 ms 384 KB ans=YES N=10
11 Correct 1 ms 384 KB ans=YES N=10
12 Correct 1 ms 384 KB ans=YES N=9
13 Correct 1 ms 512 KB ans=YES N=9
14 Correct 0 ms 384 KB ans=YES N=8
15 Correct 1 ms 384 KB ans=YES N=8
16 Correct 1 ms 384 KB ans=NO N=2
17 Correct 1 ms 384 KB ans=YES N=17
18 Correct 0 ms 384 KB ans=YES N=25
19 Correct 1 ms 384 KB ans=YES N=100
20 Correct 1 ms 416 KB ans=YES N=185
21 Correct 1 ms 384 KB ans=NO N=174
22 Correct 1 ms 384 KB ans=YES N=90
23 Correct 1 ms 384 KB ans=YES N=63
24 Correct 1 ms 384 KB ans=YES N=87
25 Correct 1 ms 384 KB ans=YES N=183
26 Correct 1 ms 384 KB ans=YES N=188
27 Correct 1 ms 384 KB ans=YES N=183
28 Correct 1 ms 384 KB ans=YES N=189
29 Correct 1 ms 384 KB ans=YES N=200
30 Correct 1 ms 384 KB ans=YES N=190
31 Correct 1 ms 416 KB ans=YES N=187
32 Correct 1 ms 384 KB ans=YES N=187
33 Correct 1 ms 384 KB ans=YES N=182
34 Correct 1 ms 384 KB ans=YES N=184
35 Correct 1 ms 384 KB ans=YES N=188
36 Correct 1 ms 384 KB ans=YES N=181
37 Correct 1 ms 384 KB ans=YES N=188
38 Correct 1 ms 384 KB ans=YES N=191
39 Correct 1 ms 384 KB ans=YES N=196
40 Correct 1 ms 384 KB ans=YES N=196
41 Correct 1 ms 384 KB ans=YES N=196
42 Correct 1 ms 384 KB ans=YES N=196
43 Correct 1 ms 384 KB ans=YES N=195
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB ans=YES N=1
2 Correct 0 ms 384 KB ans=YES N=4
3 Correct 0 ms 384 KB ans=NO N=4
4 Correct 0 ms 384 KB ans=YES N=5
5 Correct 1 ms 384 KB ans=YES N=9
6 Correct 0 ms 384 KB ans=YES N=5
7 Correct 1 ms 384 KB ans=NO N=9
8 Correct 1 ms 384 KB ans=NO N=10
9 Correct 1 ms 384 KB ans=YES N=10
10 Correct 1 ms 384 KB ans=YES N=10
11 Correct 1 ms 384 KB ans=YES N=10
12 Correct 1 ms 384 KB ans=YES N=9
13 Correct 1 ms 512 KB ans=YES N=9
14 Correct 0 ms 384 KB ans=YES N=8
15 Correct 1 ms 384 KB ans=YES N=8
16 Correct 1 ms 384 KB ans=NO N=2
17 Correct 1 ms 384 KB ans=YES N=17
18 Correct 0 ms 384 KB ans=YES N=25
19 Correct 1 ms 384 KB ans=YES N=100
20 Correct 1 ms 416 KB ans=YES N=185
21 Correct 1 ms 384 KB ans=NO N=174
22 Correct 1 ms 384 KB ans=YES N=90
23 Correct 1 ms 384 KB ans=YES N=63
24 Correct 1 ms 384 KB ans=YES N=87
25 Correct 1 ms 384 KB ans=YES N=183
26 Correct 1 ms 384 KB ans=YES N=188
27 Correct 1 ms 384 KB ans=YES N=183
28 Correct 1 ms 384 KB ans=YES N=189
29 Correct 1 ms 384 KB ans=YES N=200
30 Correct 1 ms 384 KB ans=YES N=190
31 Correct 1 ms 416 KB ans=YES N=187
32 Correct 1 ms 384 KB ans=YES N=187
33 Correct 1 ms 384 KB ans=YES N=182
34 Correct 1 ms 384 KB ans=YES N=184
35 Correct 1 ms 384 KB ans=YES N=188
36 Correct 1 ms 384 KB ans=YES N=181
37 Correct 1 ms 384 KB ans=YES N=188
38 Correct 1 ms 384 KB ans=YES N=191
39 Correct 1 ms 384 KB ans=YES N=196
40 Correct 1 ms 384 KB ans=YES N=196
41 Correct 1 ms 384 KB ans=YES N=196
42 Correct 1 ms 384 KB ans=YES N=196
43 Correct 1 ms 384 KB ans=YES N=195
44 Correct 2 ms 640 KB ans=NO N=1934
45 Correct 2 ms 640 KB ans=NO N=1965
46 Correct 5 ms 640 KB ans=YES N=1824
47 Correct 5 ms 640 KB ans=YES N=1981
48 Correct 4 ms 640 KB ans=YES N=1814
49 Correct 4 ms 640 KB ans=YES N=1854
50 Correct 6 ms 768 KB ans=YES N=1831
51 Correct 7 ms 768 KB ans=YES N=2000
52 Correct 7 ms 640 KB ans=YES N=1847
53 Correct 5 ms 640 KB ans=YES N=1819
54 Correct 6 ms 768 KB ans=YES N=1986
55 Correct 4 ms 768 KB ans=YES N=2000
56 Correct 4 ms 640 KB ans=YES N=1834
57 Correct 4 ms 640 KB ans=YES N=1860
58 Correct 5 ms 640 KB ans=YES N=1898
59 Correct 4 ms 640 KB ans=YES N=1832
60 Correct 4 ms 768 KB ans=YES N=1929
61 Correct 5 ms 640 KB ans=YES N=1919
62 Correct 4 ms 656 KB ans=YES N=1882
63 Correct 5 ms 768 KB ans=YES N=1922
64 Correct 4 ms 744 KB ans=YES N=1989
65 Correct 5 ms 640 KB ans=YES N=1978
66 Correct 4 ms 640 KB ans=YES N=1867
67 Correct 5 ms 768 KB ans=YES N=1942
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB ans=NO N=1934
2 Correct 2 ms 640 KB ans=NO N=1965
3 Incorrect 5 ms 640 KB Contestant's solution is not lexicographically largest at index 1824 (1813 vs 974)
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 384 KB ans=YES N=1
2 Correct 0 ms 384 KB ans=YES N=4
3 Correct 0 ms 384 KB ans=NO N=4
4 Correct 0 ms 384 KB ans=YES N=5
5 Correct 1 ms 384 KB ans=YES N=9
6 Correct 0 ms 384 KB ans=YES N=5
7 Correct 1 ms 384 KB ans=NO N=9
8 Correct 1 ms 384 KB ans=NO N=10
9 Correct 1 ms 384 KB ans=YES N=10
10 Correct 1 ms 384 KB ans=YES N=10
11 Correct 1 ms 384 KB ans=YES N=10
12 Correct 1 ms 384 KB ans=YES N=9
13 Correct 1 ms 512 KB ans=YES N=9
14 Correct 0 ms 384 KB ans=YES N=8
15 Correct 1 ms 384 KB ans=YES N=8
16 Correct 1 ms 384 KB ans=NO N=2
17 Correct 1 ms 384 KB ans=YES N=17
18 Correct 0 ms 384 KB ans=YES N=25
19 Correct 1 ms 384 KB ans=YES N=100
20 Correct 1 ms 416 KB ans=YES N=185
21 Correct 1 ms 384 KB ans=NO N=174
22 Correct 1 ms 384 KB ans=YES N=90
23 Correct 1 ms 384 KB ans=YES N=63
24 Correct 1 ms 384 KB ans=YES N=87
25 Correct 1 ms 384 KB ans=YES N=183
26 Correct 1 ms 384 KB ans=YES N=188
27 Correct 1 ms 384 KB ans=YES N=183
28 Correct 1 ms 384 KB ans=YES N=189
29 Correct 1 ms 384 KB ans=YES N=200
30 Correct 1 ms 384 KB ans=YES N=190
31 Correct 1 ms 416 KB ans=YES N=187
32 Correct 1 ms 384 KB ans=YES N=187
33 Correct 1 ms 384 KB ans=YES N=182
34 Correct 1 ms 384 KB ans=YES N=184
35 Correct 1 ms 384 KB ans=YES N=188
36 Correct 1 ms 384 KB ans=YES N=181
37 Correct 1 ms 384 KB ans=YES N=188
38 Correct 1 ms 384 KB ans=YES N=191
39 Correct 1 ms 384 KB ans=YES N=196
40 Correct 1 ms 384 KB ans=YES N=196
41 Correct 1 ms 384 KB ans=YES N=196
42 Correct 1 ms 384 KB ans=YES N=196
43 Correct 1 ms 384 KB ans=YES N=195
44 Correct 2 ms 640 KB ans=NO N=1934
45 Correct 2 ms 640 KB ans=NO N=1965
46 Correct 5 ms 640 KB ans=YES N=1824
47 Correct 5 ms 640 KB ans=YES N=1981
48 Correct 4 ms 640 KB ans=YES N=1814
49 Correct 4 ms 640 KB ans=YES N=1854
50 Correct 6 ms 768 KB ans=YES N=1831
51 Correct 7 ms 768 KB ans=YES N=2000
52 Correct 7 ms 640 KB ans=YES N=1847
53 Correct 5 ms 640 KB ans=YES N=1819
54 Correct 6 ms 768 KB ans=YES N=1986
55 Correct 4 ms 768 KB ans=YES N=2000
56 Correct 4 ms 640 KB ans=YES N=1834
57 Correct 4 ms 640 KB ans=YES N=1860
58 Correct 5 ms 640 KB ans=YES N=1898
59 Correct 4 ms 640 KB ans=YES N=1832
60 Correct 4 ms 768 KB ans=YES N=1929
61 Correct 5 ms 640 KB ans=YES N=1919
62 Correct 4 ms 656 KB ans=YES N=1882
63 Correct 5 ms 768 KB ans=YES N=1922
64 Correct 4 ms 744 KB ans=YES N=1989
65 Correct 5 ms 640 KB ans=YES N=1978
66 Correct 4 ms 640 KB ans=YES N=1867
67 Correct 5 ms 768 KB ans=YES N=1942
68 Correct 189 ms 11372 KB ans=NO N=66151
69 Correct 80 ms 9080 KB ans=NO N=64333
70 Correct 221 ms 11848 KB ans=YES N=69316
71 Correct 200 ms 11468 KB ans=YES N=66695
72 Correct 206 ms 11764 KB ans=YES N=68436
73 Correct 218 ms 11884 KB ans=YES N=70000
74 Correct 223 ms 11760 KB ans=YES N=68501
75 Correct 213 ms 11884 KB ans=YES N=70000
76 Correct 246 ms 10604 KB ans=YES N=65009
77 Correct 218 ms 11500 KB ans=YES N=67007
78 Correct 183 ms 11388 KB ans=YES N=66357
79 Correct 177 ms 10612 KB ans=YES N=65430
80 Correct 211 ms 11292 KB ans=YES N=65790
81 Correct 184 ms 11372 KB ans=YES N=66020
82 Correct 200 ms 11284 KB ans=YES N=65809
83 Correct 258 ms 11436 KB ans=YES N=65651
84 Correct 191 ms 11764 KB ans=YES N=68040
85 Correct 191 ms 11492 KB ans=YES N=66570
86 Correct 197 ms 10736 KB ans=YES N=65421
87 Correct 186 ms 11628 KB ans=YES N=68351
88 Correct 189 ms 11536 KB ans=YES N=67027
89 Correct 153 ms 11888 KB ans=YES N=68879
90 Correct 179 ms 11500 KB ans=YES N=67256
91 Correct 497 ms 24292 KB ans=YES N=148315
92 Correct 237 ms 19576 KB ans=NO N=142745
93 Correct 286 ms 21880 KB ans=NO N=148443
94 Correct 511 ms 26060 KB ans=YES N=148328
95 Correct 544 ms 26232 KB ans=YES N=147855
96 Correct 503 ms 26740 KB ans=YES N=150000
97 Correct 517 ms 25768 KB ans=YES N=144725
98 Correct 499 ms 26436 KB ans=YES N=149445
99 Correct 480 ms 25848 KB ans=YES N=144455
100 Correct 515 ms 25464 KB ans=YES N=143487
101 Correct 487 ms 26340 KB ans=YES N=149688
102 Correct 421 ms 25344 KB ans=YES N=141481
103 Correct 457 ms 26084 KB ans=YES N=147430
104 Correct 449 ms 25572 KB ans=YES N=142247
105 Correct 471 ms 26636 KB ans=YES N=149941
106 Correct 478 ms 25448 KB ans=YES N=141635
107 Correct 482 ms 25316 KB ans=YES N=142896
108 Correct 480 ms 25060 KB ans=YES N=142069
109 Correct 466 ms 24684 KB ans=YES N=142378
110 Correct 476 ms 26600 KB ans=YES N=150000
111 Correct 437 ms 25152 KB ans=YES N=141452
112 Correct 380 ms 24128 KB ans=YES N=134453
113 Correct 410 ms 25528 KB ans=YES N=144172
# Verdict Execution time Memory Grader output
1 Correct 162 ms 10856 KB ans=NO N=66151
2 Correct 80 ms 8440 KB ans=NO N=64333
3 Incorrect 204 ms 11260 KB Contestant's solution is not lexicographically largest at index 69316 (69235 vs 51180)
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 512 KB ans=NO N=1934
2 Correct 2 ms 640 KB ans=NO N=1965
3 Incorrect 5 ms 640 KB Contestant's solution is not lexicographically largest at index 1824 (1813 vs 974)
4 Halted 0 ms 0 KB -