제출 #1337060

#제출 시각아이디문제언어결과실행 시간메모리
1337060joacruDodatna (COCI25_dodatna)C++20
70 / 70
215 ms21568 KiB
#include <iostream>
#include <algorithm>
#include <vector>

#define forn(i,n) for(int i=0;i<(int)n;++i)

#define ALL(v) v.begin(),v.end()
#define SZ(v) (int)v.size()

using namespace std;

#include <ext/pb_ds/assoc_container.hpp> // Common file
#include <ext/pb_ds/tree_policy.hpp> // Including tree_order_statistics_node_update

using namespace __gnu_pbds;

template<typename T>
using indexed_set = tree<T, null_type, greater<T>, rb_tree_tag, tree_order_statistics_node_update>;

void solve(){
	
	int n, k;
	cin>>n>>k;
	
	vector<pair<int,int>> rs(n);
	for(auto &x: rs) cin>>x.first>>x.second;
	
	sort(ALL(rs));
	
	int ans = 0;
	indexed_set<pair<int,int>> as; // activados
	
	forn(i,n){
		auto x = rs[i];
		as.insert({x.second,i});
		if(SZ(as) < k) continue;
		int t = (*as.find_by_order(k-1)).first;
		ans = max(ans, t-x.first);
	}
	cout<<ans<<"\n";

}

int main(){
	
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	
	#ifdef LOCAL
	freopen("B.in", "r", stdin);
	int tcs; cin>>tcs;
	while(tcs--)
	#endif
	solve();
	
	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...