求调
查看原帖
求调
643735
RNTBW楼主2022/10/15 23:07

RT,一直零分

最令我百思不得其解的是这两份代码本地运行在 llr10l \le l \le r \le 10 的情况下输出全部一样,但在题上的Subtask #1中第一份WA,第二份AC

第一份:

#include<bits/stdc++.h>
using namespace std;
long long ans[1000005],w[11];
long long t,n,i,j,k,x,p,s=1;
int main()
{
	scanf("%lld",&t);
	x=1;w[1]=1;i=0;n=1e6;
	while(1)
	{
		for(k=1;k<=s;k++)
		{
			for(j=x;j>0;j--)
			{
				ans[++i]=ans[i-1]+w[j];
				if(i>n)break;
			}
			if(i>n)break;
		}
		if(i>n)break;
		x=0;p=++s;
		while(p) w[++x]=p%10,p/=10;
	}
	for(i=1;i<=t;i++)
	{
		int l,r;
		scanf("%d%d",&l,&r);
		printf("%lld\n",ans[r]-ans[l-1]);
	}
	return 0;
}

第二份: #include<bits/stdc++.h> using namespace std; int n,i,s,k=1; int a[10001],b[10001],x[10001],y[10001]; signed main() { for(i=1;i<11;i++) { a[i]=k;s++; if(s>=k)s=0,k++; } cin>>k>>k>>s; for(i=k;i<=s;i++) n+=a[i]; cout<<n; return 0; }

2022/10/15 23:07
加载中...