/ SeriousOJ /

Record Detail

Accepted


  
# Status Time Cost Memory Cost
#1 Accepted 1ms 532.0 KiB
#2 Accepted 1ms 532.0 KiB
#3 Accepted 5ms 532.0 KiB
#4 Accepted 11ms 532.0 KiB
#5 Accepted 49ms 788.0 KiB
#6 Accepted 56ms 1.277 MiB
#7 Accepted 62ms 1.062 MiB
#8 Accepted 59ms 984.0 KiB
#9 Accepted 74ms 1.363 MiB
#10 Accepted 73ms 2.027 MiB
#11 Accepted 72ms 3.34 MiB
#12 Accepted 125ms 6.574 MiB
#13 Accepted 127ms 14.0 MiB
#14 Accepted 151ms 14.008 MiB
#15 Accepted 153ms 13.961 MiB
#16 Accepted 158ms 14.535 MiB
#17 Accepted 111ms 13.863 MiB
#18 Accepted 25ms 640.0 KiB
#19 Accepted 96ms 1.551 MiB
#20 Accepted 1ms 532.0 KiB
#21 Accepted 36ms 588.0 KiB
#22 Accepted 15ms 532.0 KiB
#23 Accepted 114ms 13.941 MiB
#24 Accepted 124ms 14.508 MiB
#25 Accepted 124ms 14.695 MiB
#26 Accepted 168ms 13.844 MiB

Code

// Author : Kamonasish Roy (Bullet)
// Time : 2025-03-24 04:20:12
#include<bits/stdc++.h>
using namespace std;
const long long M=1e5+1,MOD=1e9+7;
typedef long long ll;


int main()
{
    ios::sync_with_stdio(false);
    cin.tie(0);
    int t=1;
    cin>>t;
    int sum=0;
    while(t--){
    	int n;
    	cin>>n;
    	sum+=n;
    	assert(sum>=1 && sum<=2e5);
    	vector<pair<int,int>>vec;
    	vector<int>id;
    	for(int i=1;i<=n;i++){
    		int l,r;
    		cin>>l>>r;
    		assert(l>=1 && l<=1e9);
    		assert(l<=r);
    		assert(r>=1 && r<=1e9);
    		vec.push_back({r,l});
    		id.push_back(l);
    	}
    	
    	sort(vec.begin(),vec.end());
    	sort(id.begin(),id.end());
    	int cur=0;
    	set<int>st;
    	vector<int>res;
    	for(int i=0;i<n;i++){
    		if(id[i]>cur){
    			cur=id[i];
    		}
    		else cur++;
    		st.insert(cur);
    		res.push_back(cur);
    	}
    	int x=1;
    	for(int i=0;i<n;i++){
    		int cur_r=vec[i].first;
    		int cur_l=vec[i].second;
    		auto it=st.lower_bound(cur_l);
    		if(it==st.end()){
    			x=0;
    			break;
    		}
    		if(*it>cur_r || *it<cur_l){
    			x=0;
    			break;
    		}
    		st.erase(it);
    	}
    	
    	if(!x){
    		cout<<"No\n";
    		continue;
    	}
    	else{
    		cout<<"Yes\n";
    		for(auto i:res)cout<<i<<" ";
    		cout<<"\n";
    	}
    	
    	
    	
    	}
    	
    	   
    return 0;
 
}

Information

Submit By
Type
Submission
Problem
P1185 Segment
Language
C++17 (G++ 13.2.0)
Submit At
2025-03-24 21:16:10
Judged At
2025-03-25 08:50:47
Judged By
Score
100
Total Time
168ms
Peak Memory
14.695 MiB