제출 #1131213

#제출 시각아이디문제언어결과실행 시간메모리
1131213JuanJLBuilding Skyscrapers (CEOI19_skyscrapers)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> #define fst first #define snd second #define pb push_back #define SZ(x) (int)x.size() #define ALL(x) x.begin(),x.end() #define forn(i,a,b) for(int i = a; i < b; i++) using namespace std; typedef long long ll; int main(){ ll n,t; cin>>n>>t; if(t==2){ cout<<"NO\n"; return 0; } vector<pair<ll,pair<pair<ll,ll>,ll>>> build(n); forn(i,0,n){ cin>>build[i].snd.fst.fst>>build[i].snd.fst.snd; build[i].fst=build[i].snd.fst.fst+build[i].snd.fst.snd; build[i].snd.snd=i; } sort(ALL(build)); bool yes = true; vector<ll> res = {build[0].snd.snd}; pair<ll,ll> pos=build[0].snd.fst; forn(i,1,n){ pair<ll,ll> aux = build[i].snd.fst; if(abs(aux.fst-pos.fst)<=1 && abs(aux.snd-pos.snd) <=1){ pos=build[i].snd.fst; res.pb(build[i].snd.snd); }else yes=false; } if(!yes) cout<<"No\n"; else{ cout<<"Yes\n"; forn(i,0,SZ(res)) cout<<res[i]+1<<'\n'; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...