Submission #1219403


Source Code Expand

#include <stdio.h>
#include <iostream>
#include <cmath>

#define int long long

using namespace std;

const int N=123456;

int abs(int a) {
    return a>=0?a:-a;
}

signed main() {
	int x,y;
	scanf("%lld %lld",&x,&y);
	if(x>=0 && y>=0) {
		if(x<=y) {
			printf("%lld\n",y-x);
		} else {
			printf("%lld\n",min(y-x+2,y+x+1));
		}
	} else if(x>=0 && y<=0) {
		if(abs(x)<=abs(y)) {
			printf("%lld\n",abs(y)-abs(x)+1);
		} else {
			printf("%lld\n",abs(x)-abs(y)+1);
		}
	} else if(x<=0 && y>=0) {
		if(abs(x)>=abs(y)) {
			printf("%lld\n",min(abs(x)-abs(y)+1,abs(x)+abs(y)));
		} else {
			printf("%lld\n",min(abs(y)+abs(x),abs(y)-abs(x)+2));
		}
	} else {
		if(abs(x)>=abs(y)) {
			printf("%lld\n",abs(x)-abs(y));
		} else {
			printf("%lld\n",abs(y)-abs(x)+2);
		}
	}
	return 0;
}

Submission Info

Submission Time
Task A - Simple Calculator
User hanssy
Language C++14 (GCC 5.4.1)
Score 0
Code Size 823 Byte
Status CE

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:25:11: error: call of overloaded ‘abs(long long int&)’ is ambiguous
   if(abs(x)<=abs(y)) {
           ^
In file included from /usr/include/c++/5/cstdlib:72:0,
                 from /usr/include/c++/5/ext/string_conversions.h:41,
                 from /usr/include/c++/5/bits/basic_string.h:5334,
                 from /usr/include/c++/5/string:52,
                 from /usr/include/c++/5/bits/locale_classes.h:40,
                 from /usr/include/c++/5/bits/ios_base.h:41,
                 from /usr/include/c++/5/ios:42,
                 from /usr/include/c++/5/ostream:38,
                 from /usr/include/c++/5/iostream:39,
                 from ./Main.cpp:2:
/usr/include/stdlib.h:775:12: note: candidate: int abs(int)
 extern int abs (int __x) __THROW __attribute__ ((__const__)) __wur;
            ^
./Main.cpp:11:5: note: candidate: long long int abs(long long int)
 int abs(int a) {
     ^
In file included from ./Main.cpp:3:0:
/usr/include/c++/5/cmath:99:5: ...