AtCoder Beginner Contest 160 比赛人数9747 快,比赛开始后3分钟看到所有题
AtCoder Beginner Contest 160 C Traveling Salesman around Lake 寻找两房最大间距
总目录详见https://blog.csdn.net/mrcrack/article/details/104454762
在线测评地址https://atcoder.jp/contests/abc160/tasks/abc160_c
画图可知,答案=周长-寻找两房最大间距
编写过程中,注意,第一个房子与最后一个房子的间距计算。
AC代码如下
#include <cstdio>
#include <algorithm>
using namespace std;
int a[200010];
int main(){
int k,n,i,mx=-1;
scanf("%d%d",&k,&n);
for(i=1;i<=n;i++)scanf("%d",&a[i]);
for(i=2;i<=n;i++)
mx=max(mx,a[i]-a[i-1]);//寻找两房最大间距
mx=max(mx,k-a[n]+a[1]);//第一个房子与最后一个房子的间距计算
printf("%d\n",k-mx);//答案=周长-寻找两房最大间距
return 0;
}