結果
問題 | No.2601 Very Poor |
ユーザー |
![]() |
提出日時 | 2024-01-12 21:42:27 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 236 ms / 2,000 ms |
コード長 | 1,015 bytes |
コンパイル時間 | 2,159 ms |
コンパイル使用メモリ | 200,200 KB |
最終ジャッジ日時 | 2025-02-18 17:58:42 |
ジャッジサーバーID (参考情報) |
judge4 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 34 |
ソースコード
#include <bits/stdc++.h>#define int llusing namespace std;#define rep(i,n) for(int i=0;i<n;i++)#define per(i,n) for(int i=n-1;i>=0;i--)#define rng(i,c,n) for(int i=c;i<n;i++)#define fi first#define se second#define pb push_back#define sz(a) (int)a.size()#define vec(...) vector<__VA_ARGS__>#define _4aNWZeC ios::sync_with_stdio(0),cin.tie(0)using ll=long long;using pii=pair<int,int>;using vi=vector<int>;void print(){cout<<'\n';}template<class h,class...t>void print(const h&v,const t&...u){cout<<v<<' ',print(u...);}void slv(){int n,tar;cin>>n>>tar;vi a(n);rep(i,n){cin>>a[i];}rep(i,n){a.pb(a[i]);}int n2=n*2;vi ps;rep(i,n2){ps.pb((!sz(ps)?0:ps.back())+a[i]);}set<int> st;int ans=0;per(i,n2){// -lo + ps[i] <= tar// ps[i] <= tar + lost.insert(ps[i]);int lo=!i?0:ps[i-1];auto it=st.upper_bound(tar+lo);if(it!=st.begin()){it=prev(it);ans=max(ans,*it-lo);}}cout<<min(ans,ps[n-1])<<"\n";}signed main(){_4aNWZeC;slv();}