結果
問題 |
No.1034 テスターのふっぴーさん
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
#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; } }