結果
問題 | No.1150 シュークリームゲーム(Easy) |
ユーザー | m_tsubasa |
提出日時 | 2020-08-19 00:07:25 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 57 ms / 2,000 ms |
コード長 | 679 bytes |
コンパイル時間 | 2,167 ms |
コンパイル使用メモリ | 198,588 KB |
最終ジャッジ日時 | 2025-01-13 03:34:10 |
ジャッジサーバーID (参考情報) |
judge3 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 43 |
ソースコード
#include <bits/stdc++.h> using namespace std; long long n, s, t, res = 0; vector<long long> a; int main() { cin >> n >> s >> t; a.resize(n); for (int i = 0; i < n; ++i) cin >> a[(i + n + 1 - s) % n]; t = (t + n - s) % n; s = 0; res = a[0] - a[t]; int len = (t - 1) / 2; for (int i = 1; i <= len; ++i) res += a[i] - a[t - i]; vector<long long> v; if ((t - 1) & 1) v.push_back(a[len + 1]); len = (n - t - 1) / 2; for (int i = 1; i <= len; ++i) res += a[n - i] - a[t + i]; if ((n - t - 1) & 1) v.push_back(a[t + len + 1]); sort(v.begin(), v.end()); if (v.size()) res += v.back(); if (v.size() > 1) res -= v[0]; cout << res << endl; return 0; }