(I3
I118
I7
(dp0
Vtwostr.%l
p1
(Vtwostr.cpp
p2
S'#include<iostream>\r\nusing namespace std;\r\nlong long numbers1[30003],numbers2[30003],copyOfNum1[4000],copyOfNum2[4000],indexOfBegin1=0,indexOfEnd1=0,indexOfBegin2=0,indexOfEnd2=0,answ[4002];\r\nchar a[4000],b[4000];\r\nlong long Size1=0,Size2=0,answSize=0;\r\nint maxNum(){\r\n     for(int i=0;i<Size1;i++){\r\n        if(copyOfNum1[i]>copyOfNum2[i]){\r\n          return 1;\r\n        }else if(copyOfNum1[i]<copyOfNum2[i]){\r\n            return 2;\r\n        }\r\n     }\r\n     return -1;\r\n}\r\nvoid Minus(){\r\n   long long i,fromWhere=0;\r\n   if(Size1<Size2 or (Size1==Size2 and maxNum()==2)){\r\n      for(i=0;i<Size2;i++){\r\n         numbers1[i]=copyOfNum2[i];\r\n      }\r\n      for(i=0;i<Size1;i++){\r\n         copyOfNum2[i]=copyOfNum1[i];\r\n      }\r\n      for(i=0;i<Size2;i++){\r\n         copyOfNum1[i]=numbers1[i];\r\n      }\r\n      if(maxNum()!=-1 or Size1<Size2){\r\n        cout<<"-";\r\n      }\r\n      answSize=Size1;\r\n      Size1=Size2;\r\n      Size2=answSize;\r\n   }\r\n     answSize=Size1;\r\n     Size1--;\r\n     Size2--;\r\n     while(Size1>=0 and Size2>=0){\r\n       if(Size2>=0 and copyOfNum1[Size1]>=copyOfNum2[Size2]){\r\n         answ[Size1]=copyOfNum1[Size1]-copyOfNum2[Size2];\r\n       }else if(Size2>=0 and copyOfNum1[Size1]<copyOfNum2[Size2]){\r\n           fromWhere=Size1;\r\n           while(copyOfNum1[fromWhere]==0){\r\n               fromWhere--;\r\n           }\r\n           copyOfNum1[fromWhere]--;\r\n           for(int f=fromWhere;f<Size1;f++){\r\n              copyOfNum1[f]=9;\r\n           }\r\n           answ[Size1]=(10-copyOfNum2[Size2])+copyOfNum1[Size1];\r\n       }\r\n       Size1--;\r\n       Size2--;\r\n     }\r\n     for(;Size1>0;Size1--){\r\n         answ[Size1]=copyOfNum1[Size1];\r\n     }\r\n     for(i=Size1+1;answ[i]==0 and i<answSize-1;i++){\r\n\r\n     }\r\n     for(;i<answSize;i++){\r\n         cout<<answ[i];\r\n     }\r\n     cout<<endl;\r\n}\r\n\r\nint main (){\r\nlong long n,i,maxNum=0,minNum=10;\r\ncin>>a>>b;\r\nfor(i=0;i<a[i]!=\'\\0\';i++){\r\n   numbers1[i]=a[i]-\'0\';\r\n   if(maxNum<numbers1[i]){\r\n      maxNum=numbers1[i];\r\n   }\r\n   Size1++;\r\n   indexOfEnd1++;\r\n}\r\nfor(i=0;i<b[i]!=\'\\0\';i++){\r\n   numbers2[i]=b[i]-\'0\';\r\n   if(minNum>numbers2[i] and numbers2[i]>0){\r\n      minNum=numbers2[i];\r\n   }\r\n   Size2++;\r\n   indexOfEnd2++;\r\n}\r\nwhile(maxNum!=numbers1[indexOfBegin1]){\r\n   numbers1[indexOfEnd1]=numbers1[indexOfBegin1];\r\n   indexOfBegin1++;\r\n   indexOfEnd1++;\r\n}\r\nwhile(minNum!=numbers2[indexOfBegin2]){\r\n    numbers2[indexOfEnd2]=numbers2[indexOfBegin2];\r\n    indexOfBegin2++;\r\n    indexOfEnd2++;\r\n}\r\nlong long j;\r\nj=0;\r\nfor(i=indexOfBegin1;i<indexOfEnd1;i++){\r\n   copyOfNum1[j]=numbers1[i];\r\n   j++;\r\n}\r\nj=0;\r\nfor(i=indexOfBegin2;i<indexOfEnd2;i++){\r\n   copyOfNum2[j]=numbers2[i];\r\n   j++;\r\n}\r\nMinus();\r\nreturn 0;\r\n}\r\n'
p3
tp4
stp5
.