A - Jumping!! ~負値をmodするべからず~

Quiz

https://atcoder.jp/contests/tkppc4-2/tasks/tkppc4_2_a

AC Code

https://atcoder.jp/contests/tkppc4-2/submissions/6608047

感想

  • 1WAしてしまった
  • yが0以上の偶数であれば、飛ぶ回数は決まる
  • それがn回、たとえば5だとすると、xとして作れるのは-5, -3, -1, 1, 3, 5
  • nとxのparityを見れば判定できる

負値をmod

cppでは、
-3%2 =-1
となる
x = abs(x)

しておく必要があった。

Code

    ll x, y; cin >> x >> y;
    x = abs(x);
    if(y<0){
        p(-1);
        return 0;
    }

    if(y%2==1){
        p(-1);
        return 0;
    }

    pn(-3%2);

    ll n = y/2;
    if(-n<=x && x<=n){
        if(x%2==n%2){
            p(n);
        }else{
            p(-1);
        }
        return 0;
    }
    else{
        // 範囲外
        p(-1);
        return 0;
    }

学び

  • 負値をmodするべからず