# Problem with JULKA

I don’t know why my solution is wrong for a SPOJ problem the problem name is JULKA.

``````#include <algorithm>
#include <bitset>
#include <cassert>
#include <cctype>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <deque>
#include <functional>
#include <iomanip>
#include <iostream>
#include <list>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <utility>
#include <vector>

using namespace std;
int main()
{
int t=10,a,b;
while(t--) {
cin>>a>>b;
int x,y;
//x+y = a;
//x-y = b;
cout<<(a+b)/2<<"\n"<<(a-b)/2<<endl;
}
return 0;
}
``````

2 Likes

check ur answer for larger inputs… see the statements " It is known that both girls have no more than 10^100 (1 and 100 zeros) apples together"
In my case i used BigInteger class in java which gave me an AC

@akashm please share some lines of your code because i am not good with java.

2 Likes

Thanks dude! i have done this problem.

@upendra1234 sure…heres my solution to JULKA on SPOJ

``````
import java.util.*;
import java.math.*;

class JULKA {
public static void main(String args[]) {
Scanner in = new Scanner(System.in);
for (int t = 0; t < 10; t++) {
BigInteger A = new BigInteger(in.next());
BigInteger B = new BigInteger(in.next());
BigInteger N = A.subtract(K);
System.out.println(K.toString());
System.out.println(N.toString());
}
}
}

``````

Here’s my solution in Python. It works well for the big numbers given in the problem. But still i get a wrong answer every time. Somebody, please point out the errors.!!!

`````` c=10
while c > 0:
c=c-1
n=int(input())
a=int(input())
print((n+a)/2)
print((n-a)/2)
``````

Input :

``````10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
100000000000000000000
5
5
6
2
10
2
5
1
6
2
10
2
5
1
6
2
5
2
6
2
5
2
``````

Output:

``````    5000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000050000000000000000000
4999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999999950000000000000000000
5
0
4
2
6
4
3
2
4
2
6
4
3
2
4
2
3
1``````

@rishantagarwal this is your corrected code…

``````c=10
while c > 0:
c=c-1
n=int(input())
a=int(input())
k=(n+a)/2
print(k)
print(n-k)``````

if you want to learn somthing from this question do it in c++ or c

``````c=10
while(c>0):
c-=1
n=int(raw_input())
a=int(raw_input())
k=(n-a)/2
print n+a
print k
``````

for python we should use long instead of int and in c/c++ it can be done using char array .

i can share my code if you want.

what wrong in my JULKA code?
Please me to figure out that that ,i am getting Runtime error when submit.

```#include
#include
#include
#include
#include
#include
using namespace std;
string a, b;
int i = 0, j = 0, k = 0, carry = 0;
void convert_to_int(string s,int ar1[]) {
for (i = 0;i < s.length();i++)ar1[i] = s[i] - 48;
}
void add(int int_a[],int int_b[],int ar[]) {
int ad[101] = { 0 };
for (i = a.length() - 1, j = b.length() - 1;i >= 0;i--, j--) {
int tmp = 0;
if (j >= 0)tmp = int_a[i] + int_b[j];
else tmp = int_a[i];
ad[k++] = (tmp + carry) % 10;
carry = tmp / 10;
}
while (carry) {
carry /= 10;
}
int t = 0;
for (int i = k-1;i >= 0;i--)ar[t++]=ad[i];
}
void subtract(int int_a[],int int_b[],int n) {
int sub[101] = { 0 };
k = 0;
for (i = a.length() - 1, j = n;i >= 0;i--, j--) {
int tmp = 0;
if (j >= 0) {
if (int_a[i] >= int_b[j])tmp = int_a[i] - int_b[j];
else {
for (int c = 1;c < a.length();c++) {
if (int_a[i - c] > 0) {
int_a[i - c] -= 1;
}
else int_a[i - c] = 9;
}
tmp = (10 + int_a[i]) - int_b[j];
}
}
else tmp = int_a[i];
if(tmp==0&&i==0)sub[k] = tmp;
else sub[k++] = tmp;
}
for (int i = k - 1;i >= 0;i--)cout<<sub[i];
cout << endl;
}
int divide(int int_a[],int d[]) {
k = 0;
carry = 0;
for (i = 0;i < a.length();i++) {
if ((int_a[i] + carry) / 2 == 0) {
carry = (int_a[i] % 2) * 10;
if (carry == 0)d[k++] = int_a[i];
}
else if ((int_a[i] + carry) / 2 != 0) {
d[k++] = (int_a[i] + carry) / 2;
carry = (int_a[i] + carry) % 2;
carry *= 10;
}
}
for (int i = 0;i < k;i++)cout << d[i];
cout <> a >> b;
int int_a[101] = { 0 }, int_b[101] = { 0 };
convert_to_int(a, int_a);
convert_to_int(b, int_b);
int total[200] = { 0 };
int d[100] = { 0 };
int n = divide(total, d);
subtract(int_a, d, n);
}
//system("pause");
return 0;
}```

for this type of question submission should not allowed with bigInteger or any of library function because it does not make any sense.

1 Like

In C++, it is very difficult, but in JAVA, its a cakewalk.

``````import java.math.*;
import java.util.*;
class Julka
{
public static void main(String args[])
{
Scanner sn=new Scanner(System.in);
for(int i=1;i<=10;i++)
{
BigInteger s=new BigInteger(sn.nextLine());
BigInteger c=new BigInteger(sn.nextLine());