(I3
I106
I7
(dp0
Vtwostr.%l
p1
(Vtwostr.cpp
p2
S'#include <iostream>\r\n#include <algorithm>\r\n#include <cstdio>\r\n#include <string>\r\nusing namespace std;\r\nint rev(int x,int y)\r\n{\r\n    return x>y;\r\n}\r\nint main()\r\n{\r\n string s,t;\r\n int a[3005],b[3005],ans[3005],i,n,m,largest,maxs=0,mint=10,brs=0,brt=0,ra[3005],rb[3005];\r\n int ai,bi,minu=0,naum=0,j;\r\n cin>>s;\r\n cin>>t;\r\n n=s.size();\r\n m=t.size();\r\n for(i=0;i<n;i++)\r\n {\r\n  a[i+1]=s[i]-\'0\';\r\n  if(s[i]-\'0\'==0)\r\n    brs++;\r\n  if(s[i]-\'0\'>maxs)\r\n    maxs=s[i]-\'0\';\r\n }\r\n for(i=0;i<m;i++)\r\n {\r\n  b[i+1]=t[i]-\'0\';\r\n  if(t[i]-\'0\'==0)\r\n    brt++;\r\n  else\r\n  if(t[i]-\'0\'<mint)\r\n    mint=t[i]-\'0\';\r\n }\r\n /*cout<<brs<<" "<<maxs<<endl;\r\n cout<<brt<<" "<<mint<<endl;*/\r\n ra[1]=maxs;\r\n rb[1]=mint;\r\n /*for(i=1;i<=brs;i++)\r\n    ra[i+1]=0;\r\n for(i=1;i<=brt;i++)\r\n    rb[i+1]=0;\r\n ai=brs+1;\r\n bi=brt+1;*/\r\n ai=1;\r\n bi=1;\r\n /*for(i=1;i<=n;i++)\r\n {\r\n     if(a[i]==maxs)\r\n     {\r\n         if(minu==1)\r\n         {\r\n             ai++;\r\n             ra[ai]=a[i];\r\n         }\r\n         else\r\n            minu=1;\r\n     }\r\n     else\r\n         ai++;\r\n         ra[ai]=a[i];\r\n }*/\r\n minu=0;\r\n for(i=1;i<=m;i++)\r\n {\r\n     if(b[i]==mint)\r\n     {\r\n         if(minu==1)\r\n         {\r\n             bi++;\r\n             rb[bi]=b[i];\r\n         }\r\n         else\r\n            minu=1;\r\n     }\r\n     else\r\n     {\r\n         bi++;\r\n         rb[bi]=b[i];\r\n     }\r\n }\r\n  sort(a+1,a+n+1,rev);\r\n  sort(rb+2,rb+m+1);\r\n for(i=1;i<=n;i++)\r\n  cout<<a[i];\r\n cout<<endl;\r\n for(i=1;i<=m;i++)\r\n  cout<<rb[i];\r\n cout<<endl;\r\n if(s.size()>t.size())\r\n    largest=1;\r\n if(t.size()>s.size())\r\n    largest=2;\r\n if(s.size()==t.size())\r\n {\r\n     for(i=1;i<=s.size();i++)\r\n     {\r\n         if(a[i]>rb[i])\r\n         {\r\n            largest=1;\r\n            break;\r\n         }\r\n         if(rb[i]>a[i])\r\n         {\r\n             largest=2;\r\n             break;\r\n         }\r\n     }\r\n }\r\n if(largest==1) //  Ako a[]>rb[]\r\n {\r\n  ai=s.size();\r\n  bi=t.size();\r\n  while(bi>0)\r\n  {\r\n    if(a[ai]>=rb[bi]+naum)\r\n    {\r\n        a[ai]=a[ai]-rb[bi]-naum;\r\n        naum=0;\r\n    }\r\n    else\r\n    {\r\n        a[ai]=a[ai]+10-rb[bi]-naum;\r\n        naum=1;\r\n    }\r\n    ai--;\r\n    bi--;\r\n  }\r\n  if(naum>0)\r\n  {\r\n      while(ai>0)\r\n      {\r\n          if(a[ai]>=naum)\r\n          {\r\n            a[ai]=a[ai]-naum;\r\n            break;\r\n          }\r\n          else\r\n          {\r\n              a[ai]=a[ai]+10-naum;\r\n              naum=1;\r\n          }\r\n          ai--;\r\n      }\r\n  }\r\n  j=1;\r\n  while(a[j]==0)\r\n    j++;\r\n  for(i=j;i<=n;i++)\r\n        printf("%d",a[i]);\r\n  cout<<endl;\r\n  return 0;\r\n }\r\n else\r\n {\r\n  ai=s.size();\r\n  bi=t.size();\r\n  while(ai>0)\r\n  {\r\n    if(rb[bi]>=a[ai]+naum)\r\n    {\r\n        rb[bi]=rb[bi]-a[ai]-naum;\r\n        naum=0;\r\n    }\r\n    else\r\n    {\r\n        rb[bi]=rb[bi]+10-a[ai]-naum;\r\n        naum=1;\r\n    }\r\n    ai--;\r\n    bi--;\r\n  }\r\n  if(naum>0)\r\n  {\r\n      while(bi>0)\r\n      {\r\n          if(rb[bi]>=naum)\r\n          {\r\n            rb[bi]=rb[bi]-naum;\r\n            break;\r\n          }\r\n          else\r\n          {\r\n              rb[bi]=rb[bi]+10-naum;\r\n              naum=1;\r\n          }\r\n          bi--;\r\n      }\r\n  }\r\n  j=1;\r\n  while(rb[j]==0)\r\n    j++;\r\n  cout<<"-";\r\n  for(i=j;i<=m;i++)\r\n        printf("%d",rb[i]);\r\n  cout<<endl;\r\n  return 0;\r\n }\r\n return 0;\r\n}\r\n'
p3
tp4
stp5
.