답안 #564565

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
564565 2022-05-19T11:14:07 Z Uzouf Building Skyscrapers (CEOI19_skyscrapers) C++14
54 / 100
647 ms 89404 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;
    vector<pair<int,pair<int,int> > >br;
    for (auto i:v) {
      if (i.first==fx && !vis[i]) {
        br.push_back({plc[i],i});
      }
      if (i.second==fy && !vis[i]) {
        br.push_back({plc[i],i});
      }
      if (i.first==lx && !vis[i]) {
        br.push_back({plc[i],i});
      }
      if (i.second==ly && !vis[i]) {
        br.push_back({plc[i],i});
      }
    }
    sort(br.begin(),br.end());
    q.push(br[0].second); vis[br[0].second]=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;

}
# 결과 실행 시간 메모리 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 1 ms 212 KB ans=YES N=8
16 Correct 0 ms 212 KB ans=NO N=2
# 결과 실행 시간 메모리 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 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 1 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
# 결과 실행 시간 메모리 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 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 1 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 4 ms 724 KB ans=YES N=1824
47 Correct 4 ms 852 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 4 ms 724 KB ans=YES N=1831
51 Correct 4 ms 852 KB ans=YES N=2000
52 Correct 5 ms 940 KB ans=YES N=1847
53 Correct 5 ms 980 KB ans=YES N=1819
54 Correct 4 ms 724 KB ans=YES N=1986
55 Correct 6 ms 1108 KB ans=YES N=2000
56 Correct 5 ms 1236 KB ans=YES N=1834
57 Correct 6 ms 1240 KB ans=YES N=1860
58 Correct 6 ms 1236 KB ans=YES N=1898
59 Correct 5 ms 1108 KB ans=YES N=1832
60 Correct 7 ms 1492 KB ans=YES N=1929
61 Correct 5 ms 852 KB ans=YES N=1919
62 Correct 5 ms 1108 KB ans=YES N=1882
63 Correct 6 ms 1492 KB ans=YES N=1922
64 Correct 4 ms 980 KB ans=YES N=1989
65 Correct 5 ms 1108 KB ans=YES N=1978
66 Correct 5 ms 1236 KB ans=YES N=1867
67 Correct 5 ms 1108 KB ans=YES N=1942
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 596 KB ans=NO N=1934
2 Correct 2 ms 520 KB ans=NO N=1965
3 Incorrect 3 ms 724 KB Contestant's solution is not lexicographically largest at index 1824 (1813 vs 1702)
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 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 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 1 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 4 ms 724 KB ans=YES N=1824
47 Correct 4 ms 852 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 4 ms 724 KB ans=YES N=1831
51 Correct 4 ms 852 KB ans=YES N=2000
52 Correct 5 ms 940 KB ans=YES N=1847
53 Correct 5 ms 980 KB ans=YES N=1819
54 Correct 4 ms 724 KB ans=YES N=1986
55 Correct 6 ms 1108 KB ans=YES N=2000
56 Correct 5 ms 1236 KB ans=YES N=1834
57 Correct 6 ms 1240 KB ans=YES N=1860
58 Correct 6 ms 1236 KB ans=YES N=1898
59 Correct 5 ms 1108 KB ans=YES N=1832
60 Correct 7 ms 1492 KB ans=YES N=1929
61 Correct 5 ms 852 KB ans=YES N=1919
62 Correct 5 ms 1108 KB ans=YES N=1882
63 Correct 6 ms 1492 KB ans=YES N=1922
64 Correct 4 ms 980 KB ans=YES N=1989
65 Correct 5 ms 1108 KB ans=YES N=1978
66 Correct 5 ms 1236 KB ans=YES N=1867
67 Correct 5 ms 1108 KB ans=YES N=1942
68 Correct 177 ms 20520 KB ans=NO N=66151
69 Correct 72 ms 10396 KB ans=NO N=64333
70 Correct 180 ms 16872 KB ans=YES N=69316
71 Correct 157 ms 16496 KB ans=YES N=66695
72 Correct 167 ms 16876 KB ans=YES N=68436
73 Correct 179 ms 17368 KB ans=YES N=70000
74 Correct 170 ms 17084 KB ans=YES N=68501
75 Correct 192 ms 17760 KB ans=YES N=70000
76 Correct 208 ms 18040 KB ans=YES N=65009
77 Correct 236 ms 27172 KB ans=YES N=67007
78 Correct 249 ms 31136 KB ans=YES N=66357
79 Correct 247 ms 33836 KB ans=YES N=65430
80 Correct 333 ms 33088 KB ans=YES N=65790
81 Correct 370 ms 31044 KB ans=YES N=66020
82 Correct 268 ms 28944 KB ans=YES N=65809
83 Correct 225 ms 20948 KB ans=YES N=65651
84 Correct 307 ms 41548 KB ans=YES N=68040
85 Correct 262 ms 37016 KB ans=YES N=66570
86 Correct 158 ms 17196 KB ans=YES N=65421
87 Correct 170 ms 19240 KB ans=YES N=68351
88 Correct 146 ms 16552 KB ans=YES N=67027
89 Correct 199 ms 25136 KB ans=YES N=68879
90 Correct 179 ms 19552 KB ans=YES N=67256
91 Correct 385 ms 36820 KB ans=YES N=148315
92 Correct 174 ms 22884 KB ans=NO N=142745
93 Correct 190 ms 23616 KB ans=NO N=148443
94 Correct 376 ms 35280 KB ans=YES N=148328
95 Correct 382 ms 35488 KB ans=YES N=147855
96 Correct 371 ms 35716 KB ans=YES N=150000
97 Correct 363 ms 34548 KB ans=YES N=144725
98 Correct 368 ms 35608 KB ans=YES N=149445
99 Correct 417 ms 34824 KB ans=YES N=144455
100 Correct 400 ms 34604 KB ans=YES N=143487
101 Correct 411 ms 36136 KB ans=YES N=149688
102 Correct 584 ms 58584 KB ans=YES N=141481
103 Correct 647 ms 81580 KB ans=YES N=147430
104 Correct 476 ms 47808 KB ans=YES N=142247
105 Correct 530 ms 56720 KB ans=YES N=149941
106 Correct 565 ms 76632 KB ans=YES N=141635
107 Correct 584 ms 70512 KB ans=YES N=142896
108 Correct 620 ms 77996 KB ans=YES N=142069
109 Correct 417 ms 39900 KB ans=YES N=142378
110 Correct 532 ms 64032 KB ans=YES N=150000
111 Correct 614 ms 89404 KB ans=YES N=141452
112 Correct 580 ms 85120 KB ans=YES N=134453
113 Correct 543 ms 89176 KB ans=YES N=144172
# 결과 실행 시간 메모리 Grader output
1 Correct 177 ms 20500 KB ans=NO N=66151
2 Correct 78 ms 10412 KB ans=NO N=64333
3 Incorrect 168 ms 16932 KB Contestant's solution is not lexicographically largest at index 69316 (69235 vs 7320)
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 596 KB ans=NO N=1934
2 Correct 2 ms 520 KB ans=NO N=1965
3 Incorrect 3 ms 724 KB Contestant's solution is not lexicographically largest at index 1824 (1813 vs 1702)
4 Halted 0 ms 0 KB -