HDU-5783 Divide the Sequence(贪心)
生活随笔
收集整理的這篇文章主要介紹了
HDU-5783 Divide the Sequence(贪心)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
題目大意:給一個整數序列,將其劃分成若干個子連續序列,使其每個子序列的前綴和不為負。求最大的劃分個數。
題目分析:從后往做累加計算,如果不為負,則計數加一,累加和清0。否則,一直往前掃描。如果最終的和為負,答案為0,否則為計數結果。
?
代碼如下:
# include<iostream> # include<cstdio> # include<algorithm> using namespace std; # define LL long longconst int N=1000000;int a[N+5];int main() {int n;while(~scanf("%d",&n)){for(int i=0;i<n;++i)scanf("%d",a+i);int ans=0;LL sum=0;for(int i=n-1;i>=0;--i){sum+=(LL)a[i];if(sum>=0){++ans;sum=0;}}if(sum<0) cout<<0<<endl;else cout<<ans<<endl;}return 0; }
轉載于:https://www.cnblogs.com/20143605--pcx/p/5744319.html
總結
以上是生活随笔為你收集整理的HDU-5783 Divide the Sequence(贪心)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【47.92%】【hdu 5763】An
- 下一篇: django-ckeditor表情包修改