为何程序的Md这么神奇
  • 板块灌水区
  • 楼主dingyi2007
  • 当前回复13
  • 已保存回复13
  • 发布时间2021/8/29 09:03
  • 上次更新2023/11/4 08:40:38
查看原帖
为何程序的Md这么神奇
551189
dingyi2007楼主2021/8/29 09:03
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
#include<cstdlib>
#include<string>

using namespace std;
#define LL long long
#define Max 200005

int a[Max]/*每级获得的钱数*/,b[Max]/*升级所需的钱数*/;
LL k[Max]/*升到每级最少的天数*/,w[Max]/*最快升到每级剩的钱数*/;
int t;

int main()
{
	scanf("%d",&t);
	while (t--)
	{
		int n,c;
		scanf("%d%d",&n,&c);
		for (int i=1;i<=n;i++) scanf("%d",&a[i]);
		for (int i=1;i<n;i++) scanf("%d",&b[i]);
		k[1]=1,w[1]=a[1];
		for (int i=2;i<=n;i++)
		{
			k[i]=1ll*k[i-1]+(1ll*b[i-1]-w[i-1]+a[i-1]-1)/a[i-1]+1;
			w[i]=1ll*(b[i-1]-w[i-1]+a[i-1]-1)/a[i-1]*a[i-1]+w[i-1]-b[i-1];
		}
		LL miin=1ll*(c+a[1]-1)/a[1];/*不升级攒钱买电脑*/
		for (int i=2;i<=n;i++)
		{
			LL m=1ll*k[i]+1ll*(c-w[i]+a[i]-1)/a[i];/*求出升到第i级后一直攒钱买电脑所需的天数*/
			miin=min(maxn,m);/*球最小值*/
		}
		printf("%lld\n",miin);
	}

	return 0;
}

我写题解的时候,相同的源码,这玩意儿真是惨不忍睹啊

2021/8/29 09:03
加载中...