Submission #564856

# Submission time Handle Problem Language Result Execution time Memory
564856 2022-05-19T20:00:08 Z birthdaycake Building Skyscrapers (CEOI19_skyscrapers) C++17
54 / 100
288 ms 24912 KB
#include<bits/stdc++.h>
#define int long long
#define endl '\n'
#define mod 1000000007
#define boost ios_base::sync_with_stdio(false), cin.tie(NULL);
using namespace std;
 
 
 
 
int xx[] = {-1,-1,-1,0,1,1,1,0}, yy[] = {-1,0,1,1,1,0,-1,-1};

signed main(){
    boost;
    
    
    int n,t; cin >> n >> t;
    
    vector<pair<int,pair<int,int>>>d(n);
    vector<int>ans;
    map<pair<int,int>,int>o;
    for(int i = 0; i < n; i++){
        cin >> d[i].first >> d[i].second.first;
        d[i].second.second = i + 1;
        o[{d[i].first,d[i].second.first}] = i + 1;
    }
    int x = -1e18, y = -1e18, j = 0;
    set<pair<int,pair<int,int>>>c;
    set<pair<int,int>>a;
    for(int i = 0; i < n; i++){
        if(d[i].first > x){
            x = d[i].first;
            y = d[i].second.first;
            j = i + 1;
            
        }else if(d[i].first == x && d[i].second.first > y){
            x = d[i].first;
            y = d[i].second.first;
            j = i + 1;
        }
        a.insert({d[i].first,d[i].second.first});
    }
    a.erase({x,y});
    c.insert({x,{y,j}});
    while(c.size()){
        auto f = *c.begin();
        ans.push_back(f.second.second);
        c.erase(c.begin());
        for(int i = 0; i < 8; i++){
            int aa = f.first + xx[i], b = f.second.first + yy[i];
            if(!a.count({aa,b})) continue;
            c.insert({aa,{b,o[{aa,b}]}});
            a.erase({aa,b});
        }
    }
    if(ans.size() < n){
        cout << "NO";
        return 0;
    }
    cout << "YES" << endl;
    for(int i = 0; i < n ;i++){
        cout << ans[i] << endl;
    }
    
    
    
    
    return 0;
}

Compilation message

skyscrapers.cpp: In function 'int main()':
skyscrapers.cpp:56:19: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'long long int' [-Wsign-compare]
   56 |     if(ans.size() < n){
      |        ~~~~~~~~~~~^~~
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB ans=YES N=1
2 Correct 0 ms 212 KB ans=YES N=4
3 Correct 0 ms 212 KB ans=NO N=4
4 Correct 0 ms 212 KB ans=YES N=5
5 Correct 0 ms 212 KB ans=YES N=9
6 Correct 0 ms 212 KB ans=YES N=5
7 Correct 0 ms 212 KB ans=NO N=9
8 Correct 0 ms 212 KB ans=NO N=10
9 Correct 0 ms 212 KB ans=YES N=10
10 Correct 0 ms 212 KB ans=YES N=10
11 Correct 0 ms 212 KB ans=YES N=10
12 Correct 0 ms 212 KB ans=YES N=9
13 Correct 0 ms 212 KB ans=YES N=9
14 Correct 0 ms 212 KB ans=YES N=8
15 Correct 0 ms 212 KB ans=YES N=8
16 Correct 0 ms 212 KB ans=NO N=2
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB ans=YES N=1
2 Correct 0 ms 212 KB ans=YES N=4
3 Correct 0 ms 212 KB ans=NO N=4
4 Correct 0 ms 212 KB ans=YES N=5
5 Correct 0 ms 212 KB ans=YES N=9
6 Correct 0 ms 212 KB ans=YES N=5
7 Correct 0 ms 212 KB ans=NO N=9
8 Correct 0 ms 212 KB ans=NO N=10
9 Correct 0 ms 212 KB ans=YES N=10
10 Correct 0 ms 212 KB ans=YES N=10
11 Correct 0 ms 212 KB ans=YES N=10
12 Correct 0 ms 212 KB ans=YES N=9
13 Correct 0 ms 212 KB ans=YES N=9
14 Correct 0 ms 212 KB ans=YES N=8
15 Correct 0 ms 212 KB ans=YES N=8
16 Correct 0 ms 212 KB ans=NO N=2
17 Correct 0 ms 212 KB ans=YES N=17
18 Correct 1 ms 212 KB ans=YES N=25
19 Correct 0 ms 212 KB ans=YES N=100
20 Correct 1 ms 340 KB ans=YES N=185
21 Correct 1 ms 340 KB ans=NO N=174
22 Correct 0 ms 212 KB ans=YES N=90
23 Correct 0 ms 212 KB ans=YES N=63
24 Correct 1 ms 212 KB ans=YES N=87
25 Correct 1 ms 340 KB ans=YES N=183
26 Correct 1 ms 340 KB ans=YES N=188
27 Correct 1 ms 340 KB ans=YES N=183
28 Correct 1 ms 340 KB ans=YES N=189
29 Correct 1 ms 340 KB ans=YES N=200
30 Correct 1 ms 340 KB ans=YES N=190
31 Correct 1 ms 340 KB ans=YES N=187
32 Correct 1 ms 340 KB ans=YES N=187
33 Correct 1 ms 340 KB ans=YES N=182
34 Correct 1 ms 340 KB ans=YES N=184
35 Correct 1 ms 340 KB ans=YES N=188
36 Correct 1 ms 340 KB ans=YES N=181
37 Correct 1 ms 340 KB ans=YES N=188
38 Correct 1 ms 340 KB ans=YES N=191
39 Correct 1 ms 340 KB ans=YES N=196
40 Correct 1 ms 340 KB ans=YES N=196
41 Correct 0 ms 340 KB ans=YES N=196
42 Correct 1 ms 340 KB ans=YES N=196
43 Correct 1 ms 340 KB ans=YES N=195
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB ans=YES N=1
2 Correct 0 ms 212 KB ans=YES N=4
3 Correct 0 ms 212 KB ans=NO N=4
4 Correct 0 ms 212 KB ans=YES N=5
5 Correct 0 ms 212 KB ans=YES N=9
6 Correct 0 ms 212 KB ans=YES N=5
7 Correct 0 ms 212 KB ans=NO N=9
8 Correct 0 ms 212 KB ans=NO N=10
9 Correct 0 ms 212 KB ans=YES N=10
10 Correct 0 ms 212 KB ans=YES N=10
11 Correct 0 ms 212 KB ans=YES N=10
12 Correct 0 ms 212 KB ans=YES N=9
13 Correct 0 ms 212 KB ans=YES N=9
14 Correct 0 ms 212 KB ans=YES N=8
15 Correct 0 ms 212 KB ans=YES N=8
16 Correct 0 ms 212 KB ans=NO N=2
17 Correct 0 ms 212 KB ans=YES N=17
18 Correct 1 ms 212 KB ans=YES N=25
19 Correct 0 ms 212 KB ans=YES N=100
20 Correct 1 ms 340 KB ans=YES N=185
21 Correct 1 ms 340 KB ans=NO N=174
22 Correct 0 ms 212 KB ans=YES N=90
23 Correct 0 ms 212 KB ans=YES N=63
24 Correct 1 ms 212 KB ans=YES N=87
25 Correct 1 ms 340 KB ans=YES N=183
26 Correct 1 ms 340 KB ans=YES N=188
27 Correct 1 ms 340 KB ans=YES N=183
28 Correct 1 ms 340 KB ans=YES N=189
29 Correct 1 ms 340 KB ans=YES N=200
30 Correct 1 ms 340 KB ans=YES N=190
31 Correct 1 ms 340 KB ans=YES N=187
32 Correct 1 ms 340 KB ans=YES N=187
33 Correct 1 ms 340 KB ans=YES N=182
34 Correct 1 ms 340 KB ans=YES N=184
35 Correct 1 ms 340 KB ans=YES N=188
36 Correct 1 ms 340 KB ans=YES N=181
37 Correct 1 ms 340 KB ans=YES N=188
38 Correct 1 ms 340 KB ans=YES N=191
39 Correct 1 ms 340 KB ans=YES N=196
40 Correct 1 ms 340 KB ans=YES N=196
41 Correct 0 ms 340 KB ans=YES N=196
42 Correct 1 ms 340 KB ans=YES N=196
43 Correct 1 ms 340 KB ans=YES N=195
44 Correct 2 ms 596 KB ans=NO N=1934
45 Correct 1 ms 596 KB ans=NO N=1965
46 Correct 3 ms 596 KB ans=YES N=1824
47 Correct 2 ms 596 KB ans=YES N=1981
48 Correct 2 ms 596 KB ans=YES N=1814
49 Correct 3 ms 596 KB ans=YES N=1854
50 Correct 3 ms 596 KB ans=YES N=1831
51 Correct 3 ms 596 KB ans=YES N=2000
52 Correct 3 ms 596 KB ans=YES N=1847
53 Correct 3 ms 596 KB ans=YES N=1819
54 Correct 3 ms 596 KB ans=YES N=1986
55 Correct 3 ms 596 KB ans=YES N=2000
56 Correct 3 ms 624 KB ans=YES N=1834
57 Correct 3 ms 596 KB ans=YES N=1860
58 Correct 3 ms 596 KB ans=YES N=1898
59 Correct 3 ms 596 KB ans=YES N=1832
60 Correct 3 ms 596 KB ans=YES N=1929
61 Correct 3 ms 596 KB ans=YES N=1919
62 Correct 3 ms 636 KB ans=YES N=1882
63 Correct 3 ms 596 KB ans=YES N=1922
64 Correct 3 ms 596 KB ans=YES N=1989
65 Correct 2 ms 596 KB ans=YES N=1978
66 Correct 2 ms 596 KB ans=YES N=1867
67 Correct 3 ms 596 KB ans=YES N=1942
# Verdict Execution time Memory Grader output
1 Correct 2 ms 596 KB ans=NO N=1934
2 Correct 2 ms 596 KB ans=NO N=1965
3 Incorrect 2 ms 596 KB Contestant's solution is not lexicographically largest at index 1824 (1813 vs 280)
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB ans=YES N=1
2 Correct 0 ms 212 KB ans=YES N=4
3 Correct 0 ms 212 KB ans=NO N=4
4 Correct 0 ms 212 KB ans=YES N=5
5 Correct 0 ms 212 KB ans=YES N=9
6 Correct 0 ms 212 KB ans=YES N=5
7 Correct 0 ms 212 KB ans=NO N=9
8 Correct 0 ms 212 KB ans=NO N=10
9 Correct 0 ms 212 KB ans=YES N=10
10 Correct 0 ms 212 KB ans=YES N=10
11 Correct 0 ms 212 KB ans=YES N=10
12 Correct 0 ms 212 KB ans=YES N=9
13 Correct 0 ms 212 KB ans=YES N=9
14 Correct 0 ms 212 KB ans=YES N=8
15 Correct 0 ms 212 KB ans=YES N=8
16 Correct 0 ms 212 KB ans=NO N=2
17 Correct 0 ms 212 KB ans=YES N=17
18 Correct 1 ms 212 KB ans=YES N=25
19 Correct 0 ms 212 KB ans=YES N=100
20 Correct 1 ms 340 KB ans=YES N=185
21 Correct 1 ms 340 KB ans=NO N=174
22 Correct 0 ms 212 KB ans=YES N=90
23 Correct 0 ms 212 KB ans=YES N=63
24 Correct 1 ms 212 KB ans=YES N=87
25 Correct 1 ms 340 KB ans=YES N=183
26 Correct 1 ms 340 KB ans=YES N=188
27 Correct 1 ms 340 KB ans=YES N=183
28 Correct 1 ms 340 KB ans=YES N=189
29 Correct 1 ms 340 KB ans=YES N=200
30 Correct 1 ms 340 KB ans=YES N=190
31 Correct 1 ms 340 KB ans=YES N=187
32 Correct 1 ms 340 KB ans=YES N=187
33 Correct 1 ms 340 KB ans=YES N=182
34 Correct 1 ms 340 KB ans=YES N=184
35 Correct 1 ms 340 KB ans=YES N=188
36 Correct 1 ms 340 KB ans=YES N=181
37 Correct 1 ms 340 KB ans=YES N=188
38 Correct 1 ms 340 KB ans=YES N=191
39 Correct 1 ms 340 KB ans=YES N=196
40 Correct 1 ms 340 KB ans=YES N=196
41 Correct 0 ms 340 KB ans=YES N=196
42 Correct 1 ms 340 KB ans=YES N=196
43 Correct 1 ms 340 KB ans=YES N=195
44 Correct 2 ms 596 KB ans=NO N=1934
45 Correct 1 ms 596 KB ans=NO N=1965
46 Correct 3 ms 596 KB ans=YES N=1824
47 Correct 2 ms 596 KB ans=YES N=1981
48 Correct 2 ms 596 KB ans=YES N=1814
49 Correct 3 ms 596 KB ans=YES N=1854
50 Correct 3 ms 596 KB ans=YES N=1831
51 Correct 3 ms 596 KB ans=YES N=2000
52 Correct 3 ms 596 KB ans=YES N=1847
53 Correct 3 ms 596 KB ans=YES N=1819
54 Correct 3 ms 596 KB ans=YES N=1986
55 Correct 3 ms 596 KB ans=YES N=2000
56 Correct 3 ms 624 KB ans=YES N=1834
57 Correct 3 ms 596 KB ans=YES N=1860
58 Correct 3 ms 596 KB ans=YES N=1898
59 Correct 3 ms 596 KB ans=YES N=1832
60 Correct 3 ms 596 KB ans=YES N=1929
61 Correct 3 ms 596 KB ans=YES N=1919
62 Correct 3 ms 636 KB ans=YES N=1882
63 Correct 3 ms 596 KB ans=YES N=1922
64 Correct 3 ms 596 KB ans=YES N=1989
65 Correct 2 ms 596 KB ans=YES N=1978
66 Correct 2 ms 596 KB ans=YES N=1867
67 Correct 3 ms 596 KB ans=YES N=1942
68 Correct 97 ms 11296 KB ans=NO N=66151
69 Correct 53 ms 9828 KB ans=NO N=64333
70 Correct 98 ms 11756 KB ans=YES N=69316
71 Correct 99 ms 11384 KB ans=YES N=66695
72 Correct 97 ms 11572 KB ans=YES N=68436
73 Correct 101 ms 11844 KB ans=YES N=70000
74 Correct 108 ms 11612 KB ans=YES N=68501
75 Correct 99 ms 11784 KB ans=YES N=70000
76 Correct 92 ms 10884 KB ans=YES N=65009
77 Correct 110 ms 11468 KB ans=YES N=67007
78 Correct 110 ms 11332 KB ans=YES N=66357
79 Correct 109 ms 11036 KB ans=YES N=65430
80 Correct 109 ms 11216 KB ans=YES N=65790
81 Correct 107 ms 11272 KB ans=YES N=66020
82 Correct 102 ms 11204 KB ans=YES N=65809
83 Correct 99 ms 11120 KB ans=YES N=65651
84 Correct 111 ms 11520 KB ans=YES N=68040
85 Correct 109 ms 11336 KB ans=YES N=66570
86 Correct 93 ms 11000 KB ans=YES N=65421
87 Correct 104 ms 11588 KB ans=YES N=68351
88 Correct 95 ms 11344 KB ans=YES N=67027
89 Correct 87 ms 11684 KB ans=YES N=68879
90 Correct 95 ms 11468 KB ans=YES N=67256
91 Correct 247 ms 24592 KB ans=YES N=148315
92 Correct 149 ms 21452 KB ans=NO N=142745
93 Correct 151 ms 22312 KB ans=NO N=148443
94 Correct 253 ms 24512 KB ans=YES N=148328
95 Correct 265 ms 24416 KB ans=YES N=147855
96 Correct 257 ms 24840 KB ans=YES N=150000
97 Correct 246 ms 24004 KB ans=YES N=144725
98 Correct 251 ms 24768 KB ans=YES N=149445
99 Correct 259 ms 23956 KB ans=YES N=144455
100 Correct 240 ms 23752 KB ans=YES N=143487
101 Correct 256 ms 24876 KB ans=YES N=149688
102 Correct 271 ms 23496 KB ans=YES N=141481
103 Correct 288 ms 24436 KB ans=YES N=147430
104 Correct 264 ms 23620 KB ans=YES N=142247
105 Correct 279 ms 24800 KB ans=YES N=149941
106 Correct 280 ms 23472 KB ans=YES N=141635
107 Correct 277 ms 23708 KB ans=YES N=142896
108 Correct 284 ms 23572 KB ans=YES N=142069
109 Correct 270 ms 23568 KB ans=YES N=142378
110 Correct 278 ms 24912 KB ans=YES N=150000
111 Correct 262 ms 23540 KB ans=YES N=141452
112 Correct 231 ms 22464 KB ans=YES N=134453
113 Correct 223 ms 23920 KB ans=YES N=144172
# Verdict Execution time Memory Grader output
1 Correct 101 ms 11372 KB ans=NO N=66151
2 Correct 53 ms 9860 KB ans=NO N=64333
3 Incorrect 107 ms 11748 KB Contestant's solution is not lexicographically largest at index 69316 (69235 vs 13970)
4 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 596 KB ans=NO N=1934
2 Correct 2 ms 596 KB ans=NO N=1965
3 Incorrect 2 ms 596 KB Contestant's solution is not lexicographically largest at index 1824 (1813 vs 280)
4 Halted 0 ms 0 KB -