(I3
I120
I7
(dp0
Vtwostr.%l
p1
(Vtwostr.cpp
p2
S'#include<iostream>\r\n#include<cstring>\r\nusing namespace std;\r\nchar a[5000],b[5000],ca[5000],cb[5000];\r\nchar maxx,minn;\r\nlong long kMax,kMin,k;\r\nlong long numA[5000],numB[5000];\r\nlong long otg[5000],nazaem=0;\r\nlong long da,db,br,br1,start=0;\r\nint main(){\r\n    //cin.tie(NULL);\r\n    //ios::sync_with_stdio(NULL);\r\n    cin>>a>>b;\r\n    ///AAAAA\r\n    da=strlen(a);\r\n    maxx=a[0];\r\n    kMax=0;\r\n    for(br=1;br<da;br++){\r\n       if(a[br]>maxx and a[br]!=\'0\'){\r\n            maxx=a[br];\r\n            kMax=br;\r\n       }\r\n    }\r\n    k=kMax;\r\n    br1=0;\r\n    ca[da]=\'\\0\';\r\n    for(br=da-1;br>=0;br--){\r\n        numA[br]=a[k]-\'0\';\r\n        ca[br1]=a[k];\r\n        k++;\r\n        if(k==da){\r\n            k=0;\r\n        }\r\n        br1++;\r\n    }\r\n    ///BBBBB\r\n    db=strlen(b);\r\n    minn=b[0];\r\n    kMin=0;\r\n    for(br=1;br<db;br++){\r\n       if(b[br]<minn and b[br]!=\'0\'){\r\n            minn=b[br];\r\n            kMin=br;\r\n       }\r\n    }\r\n    k=kMin;\r\n    br1=0;\r\n    cb[db]=\'\\0\';\r\n    for(br=db-1;br>=0;br--){\r\n        numB[br]=b[k]-\'0\';\r\n        cb[br1]=b[k];\r\n        k++;\r\n        if(k==db){\r\n            k=0;\r\n        }\r\n        br1++;\r\n    }\r\n   /* for(br=0;br<da;br++){\r\n        cout<<numA[br];\r\n    }cout<<endl;\r\n    for(br=0;br<db;br++){\r\n        cout<<numB[br];\r\n    }cout<<endl;*/\r\n    ///---\r\n    bool imaLiMinus=false;\r\n    if(da==db){\r\n        if(strcmp(ca,cb)==-1){\r\n            imaLiMinus=true;\r\n        }\r\n    }else{\r\n        if(da<db){\r\n            imaLiMinus=true;\r\n        }\r\n    }\r\n    if(imaLiMinus){///b-a\r\n        cout<<"-";\r\n        for(br=0;br<db;br++){\r\n            if(nazaem==1){\r\n                numB[br]--;\r\n                nazaem=0;\r\n            }\r\n            if(numB[br]<numA[br]){\r\n                numB[br]+=10;\r\n                nazaem=1;\r\n            }\r\n            otg[br]=numB[br]-numA[br];\r\n        }\r\n        start=db-1;\r\n        for(br=db-1;otg[br]==0;br--){\r\n            start--;\r\n        }\r\n    }else{///a-b\r\n        for(br=0;br<da;br++){\r\n            if(nazaem==1){\r\n                numA[br]--;\r\n                nazaem=0;\r\n            }\r\n            if(numA[br]<numB[br]){\r\n                numA[br]+=10;\r\n                nazaem=1;\r\n            }\r\n            otg[br]=numA[br]-numB[br];\r\n        }\r\n        start=da-1;\r\n        for(br=0;otg[br]==0;br++){\r\n            start--;\r\n        }\r\n    }\r\n    for(br=start;br>=0;br--){\r\n        cout<<otg[br];\r\n    }\r\n    cout<<"\\n";\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.