結果
問題 |
No.2601 Very Poor
|
ユーザー |
![]() |
提出日時 | 2024-03-22 21:12:58 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 91 ms / 2,000 ms |
コード長 | 551 bytes |
コンパイル時間 | 872 ms |
コンパイル使用メモリ | 75,152 KB |
最終ジャッジ日時 | 2025-02-20 11:02:04 |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 34 |
ソースコード
#include <iostream> #include <vector> #include <algorithm> using namespace std; using ll = long long; #define REP(i, n) for(ll i=0; i<(n);i++) int main() { ll n, x; cin >> n >> x; vector<ll> a(n); REP(i, n) cin >> a[i]; ll m = 0; REP(i, n) m += a[i]; vector<ll> sum(n * 2 + 1); REP(i, n * 2) sum[i + 1] = sum[i] + a[i % n]; ll ans = 0; REP(i, n) { auto it = lower_bound(sum.begin(), sum.end(), x + sum[i] + 1); it--; ll tmp = *it - sum[i]; ans = max(min(tmp, m), ans); } cout << ans; return 0; }