超时80分大佬求助!!!
查看原帖
超时80分大佬求助!!!
464543
你账号锁定楼主2021/5/22 17:03

第二个点和第10个点TLE,改了1天都没改出来!!!

#include <bits/stdc++.h>
using namespace std;
char s[1000010];
char fu[1000010];
long long a[1000010];
int main(){
	long long num=0,t=0;
	scanf("%s",s);
	for(int i=0;i<=strlen(s);i++)
	{	
		if(s[i]>='0'&&s[i]<='9')
		{
			num=num*10+s[i]-'0';	
		}
		else
		{
			t++;
			a[t]=num%10000;
			fu[t]=s[i];	
			num=0;
		}
	}
	long long b[1000010];
	b[1]=a[1];
	long long sb=1;
	for(int i=1;i<t;i++)
	{
		if(fu[i]=='+')
		{
			sb++;
			b[sb]=a[i+1];
		}
		else
		{
			b[sb]=b[sb]*a[i+1]%10000;
		}
	}
	long long ans=0;
	for(int i=1;i<=sb;i++)
	{
		ans=(ans+b[i])%10000;
	}
	cout<<ans<<endl;
	return 0;
}
2021/5/22 17:03
加载中...