题目背景
性★感☆大★草 在☆线★开☆门
定☆数★一☆零 实★则☆虚★高
加★速☆转★圈 开☆幕★雷☆击
疯☆狂★交☆互 劲★爆☆咚★咚
黑★蚊☆子★多 邀☆您★来☆爽
超☆越★模☆式 直★角☆旋★钮
山★东☆卫★星 马☆上★联☆动
变☆成★十☆加 已★经☆爽★爆
题目描述
Hikari 的面前有 n(1\leq n\leq 1000)n(1≤n≤1000) 级台阶,每 1s1s 她可以向上跳 m(1\leq m\leq n)m(1≤m≤n) 级台阶。(不在中间的台阶上停留)
台阶上有 k(k\leq 10)k(k≤10) 个特殊的平台 a_iai,Hikari 在该平台 停留 时会使得 mm 增加 11。
请问 Hikari 到达台阶顶部花费的时间。
输入格式
共 22 行。
第 11 行输入 33 个非负整数 n,m,kn,m,k。
第 22 行输入 kk 个正整数,第 ii 个正整数表示 a_iai,保证输入的 a_iai 单调递增。
输出格式
共 11 行,输出 11 个正整数表示花费的时间。
输入输出样例
输入 #1复制
10 5 0
输出 #1复制
2
输入 #2复制
31 4 2 8 13
输出 #2复制
6
说明/提示
子任务
对于 60\%60% 的数据,k=0k=0。
对于 100\%100% 的数据,1\leq m\leq n\leq 10001≤m≤n≤1000,k\leq 10k≤10。
题目来源
出题人:disangan233
#include<iostream>
using namespace std;
int main()
{
int n,m,k,he=0;
int a[15];
cin>>n>>m>>k;
if(k!=0)
{
for(int i=1;i<=k;i++)
{
cin>>a[i];
if(i==1&&a[i]%m==0)
{
he+=a[i]/m;
n-=m*(a[i]/m);
m++;
}
if(i>1&&(a[i]-a[i-1])%m==0)
{
he+=(a[i]-a[i-1])/m;
n-=m*((a[i]-a[i-1])/m);
m++;
}
}
if(n%m==0)
he+=n/m;
if(n%m!=0)
he+=n/m+1;
cout<<he;
return 0;
}
if(k==0)
{
if(n%m==0)
cout<<n/m;
if(n%m!=0)
cout<<n/m+1;
return 0;
}
}
这个代码只有80分
ヾ( ̄▽ ̄)Bye~Bye~