#include<bits/stdc++.h>
//#include<conio.h>
//#define s(x) scanf("%d",&(x))
#define print(x) printf("%d ",x)
#define printnl(x) printf("%d\n",x);
#define fi(i,a,b) for(int i=(a);i<(b);i++)
#define forD(i,a,b) for(int i=(a);i>(b);--i)
#define MOD 1000000009
#define INF_LONG 8999999999999999999
#define llu long long unsigned
#define FOUND 1
#define NOTFOUND 0
#define MAXSIZE 10000
#define pb push_back
using namespace :: std ;
typedef vector < int > vi;
typedef vector< vi> vvi;
typedef pair < int , int > ii;
typedef vector < ii > vii;
typedef vector < vii> vvii;
//int getch()
//{
//
//}
int main( )
{
int t = 10 , i = 0 , j = 0 , k = 0 ;
char c;
while ( t-- >= 1 )
{
i = 0 , j = 0 , k = 0 ;
vi s( 101 , 0 ) ;
vi d( 101 , 0 ) ;
//p = s+d ; q = s-q
vi p;
vi q;
while ( ( c = getch( ) ) ! = 13 )
s[ i++ ] = c - 48 ;
while ( ( c = getch( ) ) ! = 13 )
d[ j++ ] = c - 48 ;
int ssize = i-- ; // i = # elements in s -1
int dsize = j-- ; // j = # elements in d -1
// cout<<"\n total apples are :\t";
// for(int x = 0 ; x <= i ; ++x)
// cout<<s[x];
// cout<<endl;
// cout<<"\n difference of apples is :\t";
// for(int x = 0 ; x <= j ; ++x)
// cout<<d[x];
// cout<<endl;
// s + d = 2P
p = vi( ssize+ 1 , 0 ) ;
q = vi( ssize, 0 ) ;
for ( i; i >= 0 && j>= 0 ; -- i, -- j)
{
p[ i+ 1 ] = ( s[ i] + d[ j] + k) % 10 ;
k = ( s[ i] + d[ j] + k) / 10 ;
}
while ( i >= 0 )
{
p[ i+ 1 ] = ( s[ i] + k) % 10 ;
k = ( s[ i-- ] + k) / 10 ;
}
p[ i+ 1 ] = k;
/**now 2p stands created, lets halve it 2 find # apples a has**/
for ( i = 0 ; i < p.size ( ) ; i++ )
{
if ( p[ i] % 2 ) p[ i+ 1 ] + = 10 ;
p[ i] / = 2 ;
}
/**lets create q**/
for ( i = ssize - 1 , j = dsize- 1 ; i >= 0 && j >= 0 ; i-- , j-- )
{ /**#############$@@@@@@@@@@@@@@!!@@@##$$$$$$$$$**/
if ( s[ i] >= d[ j] ) q[ i] = s[ i] - d[ j] ;
else {
q[ i] = s[ i] - d[ j] + 10 ;
s[ i- 1 ] - = 1 ;
}
}
while ( i >= 0 )
{
if ( s[ i] >= 0 )
q[ i] = s[ i] ;
else
{
q[ i] = 0 ;
s[ i- 1 ] - = 1 ;
}
i-- ;
}
/**now 2q stands created, lets halve it 2 find # apples a has**/
for ( i = 0 ; i < q.size ( ) ; i++ )
{
if ( q[ i] % 2 ) q[ i+ 1 ] + = 10 ;
q[ i] / = 2 ;
}
//for(auto it : p)
// cout<<it;cout<<endl;
//for(auto it : q)cout<<it;
int flag = 0 ;
i = 0 ;
//lets print # apples a has
// cout<<"\n # apples with a :\t";
while ( i < p.size ( ) && p[ i] == 0 ) ++ i;
while ( i < p.size ( ) )
{
cout << p[ i++ ] ;
flag = 1 ;
}
if ( ! flag) cout << "0" ;
cout << endl;
flag = 0 ;
j = 0 ;
// cout<<"\n # apples with b :\t";
while ( j < q.size ( ) && q[ j] == 0 ) ++ j;
while ( j < q.size ( ) )
{
cout << q[ j++ ] ;
flag = 1 ;
}
if ( ! flag) cout << "0" ;
cout << endl;
}
return 0 ;
}
I2luY2x1ZGU8Yml0cy9zdGRjKysuaD4KLy8jaW5jbHVkZTxjb25pby5oPgovLyNkZWZpbmUgcyh4KSBzY2FuZigiJWQiLCYoeCkpCiNkZWZpbmUgcHJpbnQoeCkgcHJpbnRmKCIlZCAiLHgpCiNkZWZpbmUgcHJpbnRubCh4KSBwcmludGYoIiVkXG4iLHgpOwojZGVmaW5lIGZpKGksYSxiKSBmb3IoaW50IGk9KGEpO2k8KGIpO2krKykKI2RlZmluZSBmb3JEKGksYSxiKSBmb3IoaW50IGk9KGEpO2k+KGIpOy0taSkKI2RlZmluZSBNT0QgMTAwMDAwMDAwOQojZGVmaW5lIElORl9MT05HIDg5OTk5OTk5OTk5OTk5OTk5OTkKI2RlZmluZSBsbHUgIGxvbmcgbG9uZyB1bnNpZ25lZAojZGVmaW5lIEZPVU5EIDEKI2RlZmluZSBOT1RGT1VORCAwCiNkZWZpbmUgTUFYU0laRSAxMDAwMAojZGVmaW5lIHBiIHB1c2hfYmFjawp1c2luZyBuYW1lc3BhY2U6OnN0ZDsKCnR5cGVkZWYgdmVjdG9yIDxpbnQ+IHZpOwp0eXBlZGVmIHZlY3Rvcjx2aT4gdnZpOwp0eXBlZGVmIHBhaXIgPCBpbnQsIGludCA+IGlpOwp0eXBlZGVmIHZlY3RvciA8IGlpID4gdmlpOwp0eXBlZGVmIHZlY3RvciA8dmlpPiB2dmlpOwovL2ludCBnZXRjaCgpCi8vewovLyAgICAKLy99CmludCBtYWluKCkKewogICAgaW50IHQgPSAxMCwgaSA9IDAsIGogPSAwLCBrID0gMDsKICAgIGNoYXIgYzsKICAgd2hpbGUodC0tID49IDEpCiAgIHsKICAgIGkgPSAwLCBqID0gMCwgayA9IDA7CiAgICB2aSBzKDEwMSwgMCk7CiAgICB2aSBkKDEwMSwgMCk7CiAgICAvL3AgPSBzK2QgOyBxID0gcy1xCiAgICB2aSBwOwogICAgdmkgcTsKCiAgICB3aGlsZSgoYyA9IGdldGNoKCkpICE9IDEzKQogICAgICAgIHNbaSsrXSA9IGMgLSA0ODsKCiAgICB3aGlsZSgoYyA9IGdldGNoKCkpICE9IDEzKQogICAgICAgIGRbaisrXSA9IGMgLSA0ODsKCiAgICAgICAgaW50IHNzaXplID0gaS0tOyAvLyBpID0gIyBlbGVtZW50cyBpbiBzIC0xCiAgICAgICAgaW50IGRzaXplID0gai0tOyAvLyBqID0gIyBlbGVtZW50cyBpbiBkIC0xCi8vICAgICAgICBjb3V0PDwiXG4gdG90YWwgYXBwbGVzIGFyZSA6XHQiOwovLyAgICAgICAgZm9yKGludCB4ID0gMCA7IHggPD0gaSA7ICsreCkKLy8gICAgICAgICAgICBjb3V0PDxzW3hdOwovLyAgICAgICAgY291dDw8ZW5kbDsKLy8gICAgICAgICBjb3V0PDwiXG4gZGlmZmVyZW5jZSBvZiBhcHBsZXMgaXMgOlx0IjsKLy8gICAgICAgIGZvcihpbnQgeCA9IDAgOyB4IDw9IGogOyArK3gpCi8vICAgICAgICAgICAgY291dDw8ZFt4XTsKLy8gICAgICAgIGNvdXQ8PGVuZGw7CgovLyBzICsgZCA9IDJQCnAgPSB2aShzc2l6ZSsxLCAwKTsKcSA9IHZpKHNzaXplLCAwKTsKICAgIGZvcihpOyBpID49MCAmJiBqPj0wIDsgLS1pLCAtLWopCiAgICB7CiAgICAgICAgcFtpKzFdID0gKHNbaV0gKyBkW2pdICsgaykgJTEwOwogICAgICAgIGsgPSAoc1tpXSArIGRbal0gKyBrKS8xMDsKICAgIH0KICAgIHdoaWxlKGkgPj0gMCkKICAgIHsKICAgICAgICBwW2krMV0gPSAoc1tpXSArIGspJTEwOwogICAgICAgIGsgPSAoc1tpLS1dICsgaykvMTA7CiAgICB9CiAgICBwW2krMV0gPSBrOwogICAgLyoqbm93IDJwIHN0YW5kcyBjcmVhdGVkLCBsZXRzIGhhbHZlIGl0IDIgZmluZCAjIGFwcGxlcyBhIGhhcyoqLwogICAgZm9yKGkgPSAwOyBpIDwgcC5zaXplKCk7IGkrKykKICAgIHsKICAgICAgICBpZihwW2ldJTIpICBwW2krMV0gKz0gMTA7CiAgICAgICAgcFtpXSAvPSAyOwogICAgfQogICAgLyoqbGV0cyBjcmVhdGUgcSoqLwogICAgZm9yKGkgPSBzc2l6ZSAtMSwgaiA9IGRzaXplLTEgOyBpID49MCAmJiBqID49MCA7IGktLSwgai0tKQogICAgey8qKiMjIyMjIyMjIyMjIyMkQEBAQEBAQEBAQEBAQEAhIUBAQCMjJCQkJCQkJCQkKiovCiAgICAgICAgaWYoc1tpXSA+PSBkW2pdKSAgICAgICAgcVtpXSA9IHNbaV0gLSBkW2pdOwogICAgICAgIGVsc2UgewogICAgICAgICAgICAgICAgcVtpXSA9IHNbaV0gLSBkW2pdICsxMDsKICAgICAgICAgICAgICAgIHNbaS0xXSAtPSAxOwogICAgICAgICAgICAgICAgfQogICAgfQogICAgd2hpbGUoaSA+PSAwKQogICAgewogICAgICAgIGlmKHNbaV0gPj0wKQogICAgICAgIHFbaV0gPSBzW2ldOwogICAgICAgIGVsc2UKICAgICAgICB7CiAgICAgICAgICAgIHFbaV0gPSAwOwogICAgICAgICAgICBzW2ktMV0gLT0xOwogICAgICAgIH0KICAgICAgICBpLS07CiAgICB9CiAgICAvKipub3cgMnEgc3RhbmRzIGNyZWF0ZWQsIGxldHMgaGFsdmUgaXQgMiBmaW5kICMgYXBwbGVzIGEgaGFzKiovCiAgICBmb3IoaSA9IDA7IGkgPCBxLnNpemUoKTsgaSsrKQogICAgewogICAgICAgIGlmKHFbaV0lMikgIHFbaSsxXSArPSAxMDsKICAgICAgICBxW2ldIC89IDI7CiAgICB9Ci8vZm9yKGF1dG8gaXQgOiBwKQovLyAgICAgY291dDw8aXQ7Y291dDw8ZW5kbDsKLy9mb3IoYXV0byBpdCA6IHEpY291dDw8aXQ7CiAgICBpbnQgZmxhZyA9IDA7CiAgICBpID0gMDsKICAgIC8vbGV0cyBwcmludCAjIGFwcGxlcyBhIGhhcwovLyAgICBjb3V0PDwiXG4gIyBhcHBsZXMgd2l0aCBhIDpcdCI7CiAgICB3aGlsZShpIDxwLnNpemUoKSAmJiBwW2ldID09IDApICAgICsraTsKICAgIHdoaWxlKGkgPHAuc2l6ZSgpKQogICAgICAgIHsKICAgICAgICAgICAgY291dDw8cFtpKytdOwogICAgICAgICAgICBmbGFnID0gMTsKICAgICAgICB9CiAgICBpZighZmxhZykgY291dDw8IjAiOwogICAgY291dDw8ZW5kbDsKCiAgICBmbGFnID0wOwogICAgaiA9IDA7Ci8vICAgIGNvdXQ8PCJcbiAjIGFwcGxlcyB3aXRoIGIgOlx0IjsKICAgIHdoaWxlKGogPCBxLnNpemUoKSAmJiBxW2pdID09IDApICAgICsrajsKCiAgIHdoaWxlKGogPCBxLnNpemUoKSkKICAgIHsKICAgICAgICBjb3V0PDxxW2orK107CiAgICAgICAgZmxhZyA9IDE7CiAgICB9CiAgICBpZighZmxhZykgY291dDw8IjAiOwogICAgY291dDw8ZW5kbDsKICAgfQogICAgcmV0dXJuIDA7Cn0K
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:39:22: error: ‘getch’ was not declared in this scope
while((c = getch()) != 13)
^
prog.cpp:42:22: error: ‘getch’ was not declared in this scope
while((c = getch()) != 13)
^
prog.cpp:59:10: warning: statement has no effect [-Wunused-value]
for(i; i >=0 && j>=0 ; --i, --j)
^
prog.cpp:71:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(i = 0; i < p.size(); i++)
^
prog.cpp:97:27: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
for(i = 0; i < q.size(); i++)
^
prog.cpp:109:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(i <p.size() && p[i] == 0) ++i;
^
prog.cpp:110:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(i <p.size())
^
prog.cpp:121:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(j < q.size() && q[j] == 0) ++j;
^
prog.cpp:123:21: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
while(j < q.size())
^
stdout