错误测试点信息
#include<bits/stdc++.h>
using namespace std;
const int MAX=1e7+1;
string s1,s2;
int n1[MAX],n2[MAX],ans[MAX];
int main(){
cin>>s1>>s2;
int len1=s1.size(),len2=s2.size(),mlen=max(len1,len2);
if(len1<len2){
cout<<'-';
swap(s1,s2);
swap(len1,len2);
}else if(len1==len2){
int j=len1,f=false;
while(j--){
if(s1[j]<s2[j]){
f=true;
break;
}
}
if(f){
swap(s1,s2);
swap(len1,len2);
cout<<'-';
}
}
for(int i=0;i<len1;i++)n1[len1-1-i]=s1[i]-'0';
for(int i=0;i<len2;i++)n2[len2-1-i]=s2[i]-'0';
int k=0;
for(int i=0;i<mlen;i++){
ans[i]=n1[i]-k-n2[i];
if(ans[i]<0){
ans[i]+=10;
k=1;
}else{
k=0;
}
}
for(int i=mlen-1;i>=0;i--){
cout<<ans[i];
}
return 0;
}