結果
| 問題 |
No.1034 テスターのふっぴーさん
|
| コンテスト | |
| ユーザー |
totori_nyaa
|
| 提出日時 | 2020-04-24 22:06:18 |
| 言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,174 bytes |
| コンパイル時間 | 1,388 ms |
| コンパイル使用メモリ | 168,468 KB |
| 実行使用メモリ | 6,824 KB |
| 最終ジャッジ日時 | 2024-10-15 02:54:27 |
| 合計ジャッジ時間 | 2,363 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | WA * 30 |
ソースコード
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
template<typename T1,typename T2> bool chmin(T1 &a,T2 b){if(a<=b)return 0; a=b; return 1;}
template<typename T1,typename T2> bool chmax(T1 &a,T2 b){if(a>=b)return 0; a=b; return 1;}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout << fixed << setprecision(20);
int q;
cin>>q;
while(q--){
int n,h,w;
cin>>n>>h>>w;
ll ans = 0;
ll k;
// (k,k) <= (h,w) < (n-k,n-k);
ll low = 0, up = n/2+1;
while(up-low > 1){
ll mid = (low+up)/2;
if(h>=mid && w>=mid && h<n-mid && w<n-mid) up = mid;
else low = mid;
}
cerr << low << endl;
k = low;
ans = n*n - (n-k)*(n-k);
if(h == k) ans += w-k;
else{
ans += n - k - k;
if(w == n-k) ans += h-k;
else {
ans += n-k-k-1;
if(h == n-k) ans += w - (n-k);
else{
ans += n-k-k-1;
ans += h - (n-k);
}
}
}
cout << ans-1 << endl;
}
}
totori_nyaa