[Codeforces947D]Riverside Curio(思维)
生活随笔
收集整理的這篇文章主要介紹了
[Codeforces947D]Riverside Curio(思维)
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
Description
題目鏈接
Solution
設(shè)S[i]表示到第i天總共S[i]幾個(gè)標(biāo)記,
那么滿足S[i]=m[i]+d[i]+1
m[i]表示水位上的標(biāo)記數(shù),d[i]表示水位下的標(biāo)記數(shù)
那么可以發(fā)現(xiàn),S[i]滿足非嚴(yán)格遞增,且相鄰2個(gè)相差不超過(guò)1
由此可轉(zhuǎn)化題目,
給你n個(gè)數(shù),可以給任意數(shù)加上任意正整數(shù),要求使得最后使這個(gè)數(shù)列滿足S[i]的條件
問最少加多少,這樣就簡(jiǎn)單了
注意開long long
Code
#include<cstdio>int n,A[100010]; long long Ans;int main() {scanf("%d",&n);for(int i=1;i<=n;++i) {scanf("%d",&A[i]);if(A[i]<A[i-1]) Ans+=A[i-1]-A[i],A[i]=A[i-1];}for(int i=n;i>=2;--i) if(A[i]-A[i-1]>1) Ans+=A[i]-A[i-1]-1,A[i-1]=A[i]-1;printf("%I64d\n",Ans);return 0; }轉(zhuǎn)載于:https://www.cnblogs.com/void-f/p/8653208.html
總結(jié)
以上是生活随笔為你收集整理的[Codeforces947D]Riverside Curio(思维)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 萌新的linux之旅16
- 下一篇: Arista Networks推出400