求Hack数据(TLE不算)
查看原帖
求Hack数据(TLE不算)
228788
ChangYiMing楼主2020/10/29 00:13
#include <stdio.h>
#define ll long long
using namespace std;

int read(){
	int a1=0,k1=1;char c1=getchar();
	while(c1<'0'||c1>'9'){
		if(c1=='-')k1=-1;c1=getchar();
	}
	while(c1>='0'&&c1<='9'){
		a1=a1*10+c1-'0';
		c1=getchar();
	}
	return a1*k1;
}
inline void out1(ll n) {
	if(n < 0)
		putchar ('-') , n = -n;
	if(n > 9)
		out1(n / 10);
	putchar(n % 10 + '0');
}
inline void out(ll n){
	out1(n);printf("\n");
}
int a[100005];
int/*signed*/ main(){
	//freopen(".in","r",stdin);
	//freopen(".out","w",stdout);
	int n=read(),h=read(),k=read();
	int wait=0,ans=0;
	for(int i=1;i<=n;++i)a[i]=read();
	int i=1,sb=0;
//	while(1){
//		if(wait+a[i]<=h){
//			wait+=a[i];++i;
//		}
//		else break;
//	}
//	ans++;
	while(i<=n){
		if(a[i]+wait<=h){
			wait+=a[i];
			++i;sb=1;
		}
		else {
			if(sb)wait-=k,sb=0;
			ans++;wait-=k;ans++;
		}
//		printf("%d %d %d %d\n",i-1,wait,k,ans);
    }
	ans+=wait/k+(wait%k!=0);
	printf("%d\n",ans);
	return 0;
}

/*
5 6 3
5 4 3 2 1


5
*/


2020/10/29 00:13
加载中...