题意:
感受:
找一个数满足大于第一行所有的数,小于第二行所有的数,至少大于等于第一行中一个数的2倍,找到符合条件的最小数
分析:
只要大于等于第一行最小数的2倍并且小于第二行最小值大于第一行最大值就行
代码:
#include<bits/stdc++.h>
using namespace std;
int main()
{
int a[105],b[105],n,m,i,k,l,t;
while(cin>>n>>m)
{
for(i=0;i<n;i++)
cin>>a[i];
sort(a,a+n);
k=2*a[0];
t=a[n-1];
for(i=0;i<m;i++)
cin>>b[i];
sort(b,b+m);
l=b[0];
//cout<<k<<endl<<t<<endl<<l<<endl;
if(k<=t&&t<l)
cout<<t<<endl;
else
if(k>t&&k<l)
cout<<k<<endl;
else
cout<<"-1"<<endl;
}
}
感受:
感觉这个题挺简单的,但是漏下一个地方,找不到错。。。冤死了,原因竟然还是因为懒,觉得写和不写没有差别。。。