我能行!
时间限制:2000/2000 MS(Java / Others)内存限制:65535/32768 K(Java / Others) 总提交:1274接受的提交:610
问题描述
给定n个元素,其具有两个属性,称为属性A和属性B.为方便起见,我们使用两个整数A
i和B
i来测量这两个属性。
你的任务是将元素分成两组,比如说Set A和Set B,最小化max
(x∈SetA) {A
x } + max
(y∈SetB) {B
y }的值。
有关详细信息,请参阅样本测试用例。
输入
有多个测试用例,第一行输入包含表示测试用例数的整数。
对于每个测试用例,第一行包含整数N,表示元素的数量。(1 <= N <= 100000)
对于接下来的N行,每行包含两个整数A
i和B
i表示第i个元素的属性A和属性B. (0 <= A
i,B
i <= 1000000000)
产量
对于每个测试用例,输出最小值。
样品输入
1
3
1 100
2 100
3 1
样品输出
案例1:3
//当一个集合中所需最大值确定的时候,小于等于这个值的都应该放进来,肯定不会使结果更差
#include<cstdio>
#include<iostream>
#include<algorithm>
using namespace std;
const int mn=100000+10;
struct node{
int a,b;
bool operator<(node t)const
{
return a>t.a;
}
}s[mn];
int main(){
ios::sync_with_stdio(0);
int T,n;
cin>>T;
for(int e=1;e<=T;e++)
{
cin>>n;
for(int i=0;i<n;i++)
cin>>s[i].a>>s[i].b;
sort(s,s+n);
int ans=0x3f3f3f3f,B=0;
for(int i=0;i<n-1;i++)
{
B=max(B,s[i].b);
ans=min(s[i+1].a+B,ans);
}
cout<<"Case "<<e<<": "<<ans<<endl;
}
return 0;
}
我能行!
时间限制:2000/2000 MS(Java / Others)内存限制:65535/32768 K(Java / Others) 总提交:1274接受的提交:610
问题描述
给定n个元素,其具有两个属性,称为属性A和属性B.为方便起见,我们使用两个整数A
i和B
i来测量这两个属性。
你的任务是将元素分成两组,比如说Set A和Set B,最小化max
(x∈SetA) {A
x } + max
(y∈SetB) {B
y }的值。
有关详细信息,请参阅样本测试用例。
输入
有多个测试用例,第一行输入包含表示测试用例数的整数。
对于每个测试用例,第一行包含整数N,表示元素的数量。(1 <= N <= 100000)
对于接下来的N行,每行包含两个整数A
i和B
i表示第i个元素的属性A和属性B. (0 <= A
i,B
i <= 1000000000)
产量
对于每个测试用例,输出最小值。
样品输入
1
3
1 100
2 100
3 1
样品输出
案例1:3
转载请注明原文地址: https://www.6miu.com/read-14157.html