P5613 [MtOI2019]黑蚊子多

题目背景

性★感☆大★草 在☆线★开☆门
定☆数★一☆零 实★则☆虚★高
加★速☆转★圈 开☆幕★雷☆击
疯☆狂★交☆互 劲★爆☆咚★咚
黑★蚊☆子★多 邀☆您★来☆爽
超☆越★模☆式 直★角☆旋★钮
山★东☆卫★星 马☆上★联☆动
变☆成★十☆加 已★经☆爽★爆

题目描述

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。

题目来源

MtOI2019 Extra Round T1

出题人: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~

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值