第二个点和第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;
}