結果
問題 | No.2217 Suffix+ |
ユーザー | ripity |
提出日時 | 2023-02-17 21:36:01 |
言語 | C++17(gcc12) (gcc 12.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 130 ms / 2,000 ms |
コード長 | 623 bytes |
コンパイル時間 | 3,347 ms |
コンパイル使用メモリ | 219,456 KB |
実行使用メモリ | 6,948 KB |
最終ジャッジ日時 | 2024-07-19 12:41:47 |
合計ジャッジ時間 | 6,924 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 33 |
ソースコード
#pragma GCC target("avx") #pragma GCC optimize("O3") #pragma GCC optimize("unroll-loops") #include <bits/stdc++.h> using namespace std; void solve() { } int main() { cin.tie(0); ios::sync_with_stdio(false); int N; long long K; cin >> N >> K; vector<long long> A(N); for( int i = 0; i < N; i++ ) { cin >> A[i]; } long long l = 0, r = 1LL<<60, m; while( r-l > 1 ) { m = (l+r)>>1; long long s = 0, k = 0; for( long long i = 0; i < N; i++ ) { long long x = max(0LL, m-(A[i]+s)); k += (i+x)/(i+1); s += (i+x)/(i+1)*(i+1); } if( k <= K ) { l = m; }else { r = m; } } cout << l << endl; }