TIOJ 1161 . 4.虛擬番茄online
這題要把所有的技能想象成一個坐標
放在\(xy\)軸上
然後枚舉所有x
每次多於k個點時就把最大的y拿掉
以下為code
#include<bits/stdc++.h>
#include<bits/extc++.h>
using namespace std;
using namespace __gnu_cxx;
using namespace __gnu_pbds;
using ll = long long;
#define AC ios::sync_with_stdio(0),cin.tie(0);
int main()
{
AC
int t,n,k;
cin>>t;
while(t--)
{
cin>>n>>k;
int r=1e9;
vector<pair<int,int>> v(n);
std::priority_queue<int> pq;
for(int i=0;i<n;i++) cin>>v[i].first>>v[i].second;
sort(v.begin(),v.end());
for(int i=0;i<n;i++)
{
pq.emplace(v[i].second);
if(pq.size()==k) r=min(r,v[i].first+pq.top()),pq.pop();
}
cout<<r<<'\n';
}
}
留言
張貼留言