結果
問題 | No.999 てん vs. ほむ |
ユーザー |
![]() |
提出日時 | 2020-02-28 22:34:03 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,112 bytes |
コンパイル時間 | 1,897 ms |
コンパイル使用メモリ | 174,248 KB |
実行使用メモリ | 6,824 KB |
最終ジャッジ日時 | 2024-10-13 18:23:32 |
合計ジャッジ時間 | 3,753 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 8 WA * 12 |
ソースコード
#include<bits/stdc++.h>using namespace std;using i64 = int_fast64_t;#define rep(i, N) for(int (i) = 0; (i) < (N); (i)++)#define all(v) (v).begin(), (v).end()#define eb emplace_backi64 f(int& N, deque<i64> dq){i64 tem = 0, hom = 0;rep(i, N){size_t sz = dq.size();if(dq[0] - dq[1] >= dq[sz - 1] - dq[sz - 2]){hom += dq[0];tem += dq[1];rep(i, 2) dq.pop_front();} else {hom += dq[sz - 1];tem += dq[sz - 2];rep(i, 2) dq.pop_back();}}return hom - tem;}i64 g(int& N, deque<i64> dq){i64 tem = 0, hom = 0;rep(i, N){size_t sz = dq.size();if(dq[0] >= dq[sz - 1]){hom += dq[0];tem += dq[1];rep(i, 2) dq.pop_front();} else {hom += dq[sz - 1];tem += dq[sz - 2];rep(i, 2) dq.pop_back();}}return hom - tem;}int main(){int N;cin >> N;deque<i64> dq(2*N);rep(i, 2*N) cin >> dq[i];cout << max(f(N, dq), g(N, dq)) << endl;}