题目链接:http://codeforces.com/contest/872
代码如下:
A、
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <queue>
#include<cmath>
#include <vector>
using namespace std;
int a[10],b[10];
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
int x;
memset(a,0,sizeof(a));
memset(b,0,sizeof(b));
for(int i=0;i<n;i++)
{
scanf("%d",&x);
a[x]++;
}
for(int i=0;i<m;i++)
{
scanf("%d",&x);
b[x]++;
}
int ami,bmi,abmi;
abmi=-1;
for(int i=10-1;i>=0;i--)
{
if(a[i]!=0 && b[i]!=0)
abmi=i;
if(a[i]!=0)
ami=i;
if(b[i]!=0)
bmi=i;
}
if(ami==bmi)
printf("%d\n",ami);
else
{
if(abmi>0)
printf("%d\n",abmi);
else if(ami<bmi)
printf("%d%d\n",ami,bmi);
else
printf("%d%d\n",bmi,ami);
}
}
return 0;
}
B、
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
#include<cmath>
#include <vector>
using namespace std;
int main()
{
int n,k;
int a[100005];
while(~scanf("%d%d",&n,&k))
{
int ss,ee;
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
ss=a[0]; ee=a[n-1];
sort(a,a+n);
if(k==1)
printf("%d\n",a[0]);
else if(k==2)
printf("%d\n",max(ss,ee));
else
printf("%d\n",a[n-1]);
}
return 0;
}