您的位置:首页 > 大数据 > 人工智能

【Codeforces Round #462 (Div. 2)】A - A Compatible Pair

2018-02-14 23:44 204 查看
题意:给定序列A和序列B,Tommy从序列A中隐藏(删掉)一个元素, Banban从序列A和B中分别取出一个元素,他们的乘积a[i]*b[j],Tommy尽量使它们小, Banban尽量使它们更大。 求乘积的结果

-10^9<=Ai,Bi<=10^9 , 序列长度n,m范围是[1,50]

分析:被叉得飞起的一题。 自己也被叉了。。

xg.. 可以把所有的乘积结果存起来,排序就好了, 不存起来的 也可以找到次大的结果。。也行。。 蒻苣OoO

Code:

#include <bits/stdc++.h>
using namespace std;

#define mem(a,n) memset(a,n,sizeof(a))
#define memc(a,b) memcpy(a,b,sizeof(b))
#define rep(i,a,n) for(int i=a;i<n;i++) ///[a,n)
#define dec(i,n,a) for(int i=n;i>=a;i--)///[n,a]
#define pb push_back
#define fi first
#define se second
#define IO ios::sync_with_stdio(false)
#define fre freopen("in.txt","r",stdin)
#define lson l,m,rt<<1
#define rson m+1,r,rt<<1|1
typedef long long ll;
typedef unsigned long long ull;
const double PI=acos(-1.0);
const double E=2.718281828459045;
const double eps=1e-3;
const int INF=0x3f3f3f3f;
const int MOD=258280327;
const int N=2e3+5;
const ll llinf=1LL<<63-1;
const int dir[4][2]= {-1,0,1,0,0,-1,0,1};
ll ans
;
int main()
{
IO;
ll a
,b
;
int n,m;
while(cin>>n>>m)
{
rep(i,0,n) cin>>a[i];
rep(i,0,m) cin>>b[i];
rep(i,0,n)
{
ll tmp=-llinf;
rep(j,0,m)
{
tmp=max(tmp,a[i]*b[j]);
}
ans[i]=tmp;
}
sort(ans,ans+n);
cout<<ans[n-2]<<endl;
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  暴力 CF