Submission #1041509


Source Code Expand

#include <algorithm>
#include <cassert>
#include <cfloat>
#include <climits>
#include <cmath>
#include <cstdio>
#include <cstdlib>
#include <deque>
#include <iomanip>
#include <iostream>
#include <limits>
#include <map>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <tuple>
#include <vector>

#define FOR(i,k,n) for (int (i)=(k); (i)<(n); ++(i))
#define rep(i,n) FOR(i,0,n)
#define pb push_back
#define all(v) begin(v), end(v)
#define debug(x) cerr<< #x <<": "<<x<<endl
#define debug2(x,y) cerr<< #x <<": "<< x <<", "<< #y <<": "<< y <<endl

using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef pair<int, int> pii;
typedef vector<int> vi;
typedef vector<vector<int> > vvi;
typedef vector<ll> vll;
typedef vector<vector<ll> > vvll;
template<class T> using vv=vector<vector< T > >;

ll absolute(ll n) {
  if (n < 0) {
    n *= (-1);
  }
  return n;
}

int main() {
  ll x, y;
  cin >> x >> y;
  ll ax = absolute(x);
  ll ay = absolute(y);
  if (ax == ay) {
    printf("1\n");
    return 0;
  }
  if (ax < ay) {
    ll ans = ay - ax;
    if (ax != x) {
      ans += 1;
    }
    if (ay != y) {
      ans += 1;
    }
    printf("%lld\n", ans);
    return 0;
  }

  if (ax > ay) {
    ll ans = ax - ay;
    if (ax == x) {
      ans += 1;
    }
    if (y == 0) {
      printf("%lld\n", ans);
      return 0;
    }

    if (ay == y) {
      ans += 1;
    }
    printf("%lld\n", ans);
  }

  return 0;
}

Submission Info

Submission Time
Task A - Simple Calculator
User tspcx
Language C++14 (Clang 3.8.0)
Score 300
Code Size 1558 Byte
Status AC
Exec Time 8 ms
Memory 888 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 14
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt
Case Name Status Exec Time Memory
0_00.txt AC 8 ms 888 KB
0_01.txt AC 3 ms 256 KB
0_02.txt AC 3 ms 256 KB
1_00.txt AC 3 ms 256 KB
1_01.txt AC 3 ms 256 KB
1_02.txt AC 3 ms 256 KB
1_03.txt AC 3 ms 256 KB
1_04.txt AC 3 ms 256 KB
1_05.txt AC 3 ms 256 KB
1_06.txt AC 3 ms 256 KB
1_07.txt AC 3 ms 256 KB
1_08.txt AC 3 ms 256 KB
1_09.txt AC 3 ms 256 KB
1_10.txt AC 3 ms 256 KB