結果
問題 | No.1150 シュークリームゲーム(Easy) |
ユーザー | betrue12 |
提出日時 | 2020-08-09 19:44:25 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 73 ms / 2,000 ms |
コード長 | 624 bytes |
コンパイル時間 | 2,962 ms |
コンパイル使用メモリ | 194,344 KB |
最終ジャッジ日時 | 2025-01-12 19:29:15 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 43 |
ソースコード
#include <bits/stdc++.h> using namespace std; int main(){ int N, S, T; cin >> N >> S >> T; S--; T--; vector<int64_t> A(2*N), sum(2*N+1); for(int i=0; i<N; i++){ cin >> A[i]; A[i+N] = A[i]; } for(int i=0; i<2*N; i++) sum[i+1] = sum[i] + A[i]; int num = (N+1)/2; if(S < T) S += N; int M1 = (S+T+1)/2; S %= N; if(T < S) T += N; int M2 = (S+T)/2 - num + 1; if(M2 < M1) M2 += N; int64_t mx = 0; for(int s=M1; s<=M2; s++){ int s1 = s%N; mx = max(mx, sum[s1+num]-sum[s1]); } cout << mx-(sum[N]-mx) << endl; return 0; }