题意:找两个上升序列中最接近的两个点 输出差值
一开始以为需要什么高大上的算法,后来自己随意的敲了一个没想到竟然过了
题目链接:http://cdn.ac.nbutoj.com/Problem/view.xhtml?id=1477
解题代码:
#include<cstdio>
#include<cstring>
#include<stdlib.h>
#include<math.h>
#include<algorithm>
#include<iostream>
using namespace std;
#define N 1024
int a[N],b[N];
int main()
{
int A,B;
while(~scanf("%d %d",&A,&B))
{
for(int i=0;i<A;i++)
scanf("%d",&a[i]);
for(int j=0;j<B;j++)
scanf("%d",&b[j]);
int c=1e6,k;
int i,j;
for(i=0;i<A;i++)
{
for(j=0;j<B;j++)
{
k=a[i]-b[j];
if(k<0) k=-k;
if(k<c) c=k;
if(b[j]>a[i]) break;
}
}
printf("%d\n",c);
}
return 0;
}