题解:CF1987C Basil's Garden
注意到一盆花有两种情况。
- 则需花费 个单位时间。
- 则 为 时 为 ,需要花费 个单位时间。
设答案为 ,结合两点可得出 每次应更新为 。
注意需要倒推,因为 实际是 的时间,时间复杂度 。
Code:
#include<bits/stdc++.h>
using namespace std;
int n, a[200005];
int main(){
int t;
cin >> t;
while(t --){
cin >> n;
for(int i = 1; i <= n; i ++) cin >> a[i];
int ans = a[n];
for(int i = n - 1; i >= 1; i --) ans = max(ans + 1, a[i]);
cout << ans << "\n";
}
return 0;
}
posted on 2024-08-04 12:04 zhangzirui66 阅读(7) 评论(0) 收藏 举报 来源