Codeforces Round #717 (Div. 2) 1516 A. Tit for Tat(模拟)
发布日期:2021-06-30 10:32:29 浏览次数:2 分类:技术文章

本文共 477 字,大约阅读时间需要 1 分钟。

∑ i = 1 n − 1 a i = s u m \sum\limits_{i=1}^{n-1}a_i=sum i=1n1ai=sum

如果可以,我们可以让前 n − 1 n-1 n1个数都减成 0 0 0,然后 a n a_n an一直加到 a n + s u m a_n+sum an+sum

这样字典序最小

但是现在最多操作 k k k次,所以我们最多让前 i − 1 i-1 i1个数减 m i n ( k , s u m ) min(k,sum) min(k,sum)

从第一个数开始,能减就减即可

#include 
using namespace std;const int maxn = 3e5+10;int a[maxn];int t,n,k;int main(){
cin >> t; while( t-- ) {
cin >> n >> k; int sum = 0; for(int i=1;i<=n;i++) scanf("%d",&a[i] ); for(int i=1;i

转载地址:https://issue-is-vegetable.blog.csdn.net/article/details/116009107 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:2016-2017 ACM-ICPC CHINA-Final F. Mr. Panda and Fantastic Beasts(后缀数组的两种解法)
下一篇:Codeforces Round #717 (Div. 2) A-D题解(热乎的)

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年05月02日 10时26分18秒