結果

問題 No.1034 テスターのふっぴーさん
ユーザー queee
提出日時 2020-04-24 23:12:30
言語 C++17
(gcc 13.3.0 + boost 1.87.0)
結果
WA  
実行時間 -
コード長 755 bytes
コンパイル時間 1,013 ms
コンパイル使用メモリ 70,964 KB
最終ジャッジ日時 2025-01-10 00:32:41
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other WA * 30
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <iostream>
#include <algorithm>

using namespace std; using ll=long long;

ll solve(ll n, ll x, ll y) {
  ll x1 = y, y1 = x, x2 = n-1LL-y, y2 = n-1LL-x;
  if (x1 == 0 || y1 == 0 || x2 == 0 || y2 == 0) {
    if (y1 == 0) return x1+1LL;
    else if (x2 == 0) return n + y1;
    else if (y2 == 0) return 2LL * n - 2LL + (n-x1);
    else if (x1 == 0) return 4LL * n - 3LL - y1;
  } else {
    ll mn = min({x1,y1,x2,y2});
    ll temp = 4LL * (mn * n - mn * (mn + 1LL) / 2LL);
    //cout<<"p: "<<temp<<" "<<n-2*mn<<" "<<x1-mn<<" "<<y1-mn<<" "<<mn<<endl;
    return temp + solve(n-2LL*mn, y1-mn, x1-mn);
  }
  return -1e18;
}

int main() {
  int q; cin>>q;
  for(int qq=0;qq<q;qq++) {
    ll n,x,y; cin>>n>>x>>y;
    cout<<solve(n,x,y)-1LL<<endl;
  }
}
0