站外题求调
  • 板块学术版
  • 楼主f2_longtian
  • 当前回复2
  • 已保存回复2
  • 发布时间2023/12/30 18:10
  • 上次更新2023/12/30 20:11:48
查看原帖
站外题求调
385952
f2_longtian楼主2023/12/30 18:10
问题描述
  小蓝要在路边划分停车位。
  他将路边可停车的区域划分为 L 个整数小块,编号 1 至 L。一个车位需要连续的 k 个小块,停车位不能重叠。有的小块属于井盖、消防通道等区域,不能停车。
  请问小蓝最多划分出多少个停车位?
输入格式
  输入的第一行包含三个整数 L、k、n,分别表示小块数量、一个车位需要的小块数量和不能停车的小块数量,相邻整数之间用一个空格分隔。
  第二行包含 n 个整数 a[1], a[2], ..., a[n],按从小到大的顺序排列,相邻的整数间用空格分隔,表示这些位置不能停车。
输出格式
  输出一行包含一个整数,表示答案。
样例输入   
100 10 2
25 91
样例输出   
8
评测用例规模与约定
  对于 50% 的评测用例,2 <= L <= 1000,1 <= k <= 10,1 <= n <= 100。
  对于所有评测用例,2 <= L <= 100000000,1 <= k <= 1000,1 <= n <= 100000。
#include<bits/stdc++.h>
using namespace std;
int a[100010];
int main(){
 int l,k,n,sum=0;
 cin>>l>>k>>n;
 a[0]=1;
 for(int i=1;i<=n;i++){
   cin>>a[i];
 }
 a[n+1]=l+1;
 for(int i=1;i<=n+1;i++){
   sum+=((a[i]-1)-a[i-1])/k;
 }
 cout<<sum;
 return 0;
}

闲来无事报了个启蒙班,结果被一道题给逼疯了,调了一周了都没出来,求助

2023/12/30 18:10
加载中...