Submission #564538

# Submission time Handle Problem Language Result Execution time Memory
564538 2022-05-19T10:45:12 Z Uzouf Building Skyscrapers (CEOI19_skyscrapers) C++14
54 / 100
623 ms 92124 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>
using namespace std;
using namespace __gnu_pbds;
#define int long long
#define endl "\n"
int mod=1e9+7;
const int N=2e5+5;
template<class x>
using ordered_multiset = tree<x, null_type,less_equal<x>, rb_tree_tag,tree_order_statistics_node_update>;

int n,t;
map<pair<int,int>,bool> mp;
map<pair<int,int>,bool> vis;
map<pair<int,int>,int> plc;
vector<pair<int,int> > v;
vector<pair<int,int> > vv;

int dx[8]={0,0,1,-1,1,-1,-1,1};
int dy[8]={1,-1,0,0,1,-1,1,-1};

signed main()
{
    ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
    //freopen(".in", "r", stdin); freopen(".out", "w", stdout);

    cin>>n>>t;
    for (int i=0;i<n;i++) {
      int x,y; cin>>x>>y;
      mp[{x,y}]=true;
      plc[{x,y}]=i+1;
      v.push_back({x,y});
      vv.push_back({y,x});
    }
    sort(v.begin(),v.end());

    priority_queue<pair<int,int>,vector<pair<int,int> >,greater<pair<int,int> >  > q;

    int fx=v[0].first,fy=v[0].second;
    int lx=v[n-1].first,ly=v[n-1].second;
    for (auto i:v) {
      if (q.size()>0) {break;}
      if (i.first==fx && !vis[i]) {
        q.push({i}); vis[i]=true;
      }
      if (i.second==fy && !vis[i]) {
        q.push({i}); vis[i]=true;
      }
      if (i.first==lx && !vis[i]) {
        q.push({i}); vis[i]=true;
      }
      if (i.second==ly && !vis[i]) {
        q.push({i}); vis[i]=true;
      }
    }

    vector<int> ans;

    while (!q.empty()) {
      int x=q.top().first,y=q.top().second;
      q.pop();
      ans.push_back(plc[{x,y}]);

      for (int i=0;i<8;i++) {
        int xx=x+dx[i],yy=y+dy[i];
        if (!vis[{xx,yy}] && mp[{xx,yy}]) {
          q.push({xx,yy}); vis[{xx,yy}]=true;
        }

      }
    }

    for (auto i:v) {
      if (!vis[i]) {
        cout<<"NO"; return 0;
      }
    }

    cout<<"YES"<<endl;
    for (int i:ans) cout<<i<<endl;

}
# 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 1 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 1 ms 212 KB ans=YES N=9
13 Correct 1 ms 212 KB ans=YES N=9
14 Correct 0 ms 212 KB ans=YES N=8
15 Correct 1 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 1 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 1 ms 212 KB ans=YES N=9
13 Correct 1 ms 212 KB ans=YES N=9
14 Correct 0 ms 212 KB ans=YES N=8
15 Correct 1 ms 212 KB ans=YES N=8
16 Correct 0 ms 212 KB ans=NO N=2
17 Correct 1 ms 212 KB ans=YES N=17
18 Correct 0 ms 212 KB ans=YES N=25
19 Correct 0 ms 340 KB ans=YES N=100
20 Correct 1 ms 340 KB ans=YES N=185
21 Correct 0 ms 340 KB ans=NO N=174
22 Correct 1 ms 340 KB ans=YES N=90
23 Correct 1 ms 340 KB ans=YES N=63
24 Correct 1 ms 340 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 1 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 1 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 1 ms 212 KB ans=YES N=9
13 Correct 1 ms 212 KB ans=YES N=9
14 Correct 0 ms 212 KB ans=YES N=8
15 Correct 1 ms 212 KB ans=YES N=8
16 Correct 0 ms 212 KB ans=NO N=2
17 Correct 1 ms 212 KB ans=YES N=17
18 Correct 0 ms 212 KB ans=YES N=25
19 Correct 0 ms 340 KB ans=YES N=100
20 Correct 1 ms 340 KB ans=YES N=185
21 Correct 0 ms 340 KB ans=NO N=174
22 Correct 1 ms 340 KB ans=YES N=90
23 Correct 1 ms 340 KB ans=YES N=63
24 Correct 1 ms 340 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 1 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 2 ms 596 KB ans=NO N=1965
46 Correct 3 ms 780 KB ans=YES N=1824
47 Correct 4 ms 804 KB ans=YES N=1981
48 Correct 4 ms 724 KB ans=YES N=1814
49 Correct 4 ms 852 KB ans=YES N=1854
50 Correct 3 ms 724 KB ans=YES N=1831
51 Correct 4 ms 832 KB ans=YES N=2000
52 Correct 6 ms 828 KB ans=YES N=1847
53 Correct 4 ms 980 KB ans=YES N=1819
54 Correct 4 ms 724 KB ans=YES N=1986
55 Correct 5 ms 1108 KB ans=YES N=2000
56 Correct 5 ms 1216 KB ans=YES N=1834
57 Correct 6 ms 1236 KB ans=YES N=1860
58 Correct 5 ms 1236 KB ans=YES N=1898
59 Correct 5 ms 1108 KB ans=YES N=1832
60 Correct 6 ms 1492 KB ans=YES N=1929
61 Correct 4 ms 852 KB ans=YES N=1919
62 Correct 7 ms 1108 KB ans=YES N=1882
63 Correct 6 ms 1492 KB ans=YES N=1922
64 Correct 4 ms 852 KB ans=YES N=1989
65 Correct 5 ms 1108 KB ans=YES N=1978
66 Correct 4 ms 1108 KB ans=YES N=1867
67 Correct 5 ms 1108 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 4 ms 724 KB Contestant's solution is not lexicographically largest at index 1824 (1813 vs 1702)
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 1 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 1 ms 212 KB ans=YES N=9
13 Correct 1 ms 212 KB ans=YES N=9
14 Correct 0 ms 212 KB ans=YES N=8
15 Correct 1 ms 212 KB ans=YES N=8
16 Correct 0 ms 212 KB ans=NO N=2
17 Correct 1 ms 212 KB ans=YES N=17
18 Correct 0 ms 212 KB ans=YES N=25
19 Correct 0 ms 340 KB ans=YES N=100
20 Correct 1 ms 340 KB ans=YES N=185
21 Correct 0 ms 340 KB ans=NO N=174
22 Correct 1 ms 340 KB ans=YES N=90
23 Correct 1 ms 340 KB ans=YES N=63
24 Correct 1 ms 340 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 1 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 2 ms 596 KB ans=NO N=1965
46 Correct 3 ms 780 KB ans=YES N=1824
47 Correct 4 ms 804 KB ans=YES N=1981
48 Correct 4 ms 724 KB ans=YES N=1814
49 Correct 4 ms 852 KB ans=YES N=1854
50 Correct 3 ms 724 KB ans=YES N=1831
51 Correct 4 ms 832 KB ans=YES N=2000
52 Correct 6 ms 828 KB ans=YES N=1847
53 Correct 4 ms 980 KB ans=YES N=1819
54 Correct 4 ms 724 KB ans=YES N=1986
55 Correct 5 ms 1108 KB ans=YES N=2000
56 Correct 5 ms 1216 KB ans=YES N=1834
57 Correct 6 ms 1236 KB ans=YES N=1860
58 Correct 5 ms 1236 KB ans=YES N=1898
59 Correct 5 ms 1108 KB ans=YES N=1832
60 Correct 6 ms 1492 KB ans=YES N=1929
61 Correct 4 ms 852 KB ans=YES N=1919
62 Correct 7 ms 1108 KB ans=YES N=1882
63 Correct 6 ms 1492 KB ans=YES N=1922
64 Correct 4 ms 852 KB ans=YES N=1989
65 Correct 5 ms 1108 KB ans=YES N=1978
66 Correct 4 ms 1108 KB ans=YES N=1867
67 Correct 5 ms 1108 KB ans=YES N=1942
68 Correct 167 ms 20520 KB ans=NO N=66151
69 Correct 66 ms 10912 KB ans=NO N=64333
70 Correct 153 ms 17476 KB ans=YES N=69316
71 Correct 145 ms 17008 KB ans=YES N=66695
72 Correct 154 ms 17464 KB ans=YES N=68436
73 Correct 151 ms 17824 KB ans=YES N=70000
74 Correct 160 ms 17812 KB ans=YES N=68501
75 Correct 161 ms 18468 KB ans=YES N=70000
76 Correct 161 ms 18580 KB ans=YES N=65009
77 Correct 212 ms 27692 KB ans=YES N=67007
78 Correct 241 ms 31648 KB ans=YES N=66357
79 Correct 249 ms 34524 KB ans=YES N=65430
80 Correct 268 ms 33600 KB ans=YES N=65790
81 Correct 277 ms 31576 KB ans=YES N=66020
82 Correct 238 ms 29368 KB ans=YES N=65809
83 Correct 183 ms 21488 KB ans=YES N=65651
84 Correct 335 ms 42028 KB ans=YES N=68040
85 Correct 279 ms 37536 KB ans=YES N=66570
86 Correct 169 ms 17676 KB ans=YES N=65421
87 Correct 193 ms 19916 KB ans=YES N=68351
88 Correct 164 ms 16980 KB ans=YES N=67027
89 Correct 207 ms 25780 KB ans=YES N=68879
90 Correct 173 ms 19948 KB ans=YES N=67256
91 Correct 386 ms 37908 KB ans=YES N=148315
92 Correct 179 ms 24200 KB ans=NO N=142745
93 Correct 195 ms 26596 KB ans=NO N=148443
94 Correct 371 ms 38160 KB ans=YES N=148328
95 Correct 369 ms 38312 KB ans=YES N=147855
96 Correct 380 ms 38916 KB ans=YES N=150000
97 Correct 366 ms 37612 KB ans=YES N=144725
98 Correct 373 ms 38660 KB ans=YES N=149445
99 Correct 373 ms 37908 KB ans=YES N=144455
100 Correct 359 ms 37408 KB ans=YES N=143487
101 Correct 380 ms 39016 KB ans=YES N=149688
102 Correct 500 ms 61720 KB ans=YES N=141481
103 Correct 604 ms 84568 KB ans=YES N=147430
104 Correct 450 ms 50952 KB ans=YES N=142247
105 Correct 518 ms 59928 KB ans=YES N=149941
106 Correct 585 ms 79764 KB ans=YES N=141635
107 Correct 568 ms 73236 KB ans=YES N=142896
108 Correct 610 ms 80704 KB ans=YES N=142069
109 Correct 393 ms 42128 KB ans=YES N=142378
110 Correct 516 ms 67236 KB ans=YES N=150000
111 Correct 623 ms 92124 KB ans=YES N=141452
112 Correct 577 ms 87700 KB ans=YES N=134453
113 Correct 540 ms 91824 KB ans=YES N=144172
# Verdict Execution time Memory Grader output
1 Correct 184 ms 20496 KB ans=NO N=66151
2 Correct 62 ms 10296 KB ans=NO N=64333
3 Incorrect 151 ms 16960 KB Contestant's solution is not lexicographically largest at index 69316 (69235 vs 7320)
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 4 ms 724 KB Contestant's solution is not lexicographically largest at index 1824 (1813 vs 1702)
4 Halted 0 ms 0 KB -