国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

【Bzoj1588】營業(yè)額統(tǒng)計

2019-11-11 01:20:41
字體:
供稿:網(wǎng)友

1588: [HNOI2002]營業(yè)額統(tǒng)計

Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 14967  Solved: 5850[Submit][Status][Discuss]

Description

營業(yè)額統(tǒng)計 Tiger最近被公司升任為營業(yè)部經(jīng)理,他上任后接受公司交給的第一項任務(wù)便是統(tǒng)計并分析公司成立以來的營業(yè)情況。 Tiger拿出了公司的賬本,賬本上記錄了公司成立以來每天的營業(yè)額。分析營業(yè)情況是一項相當(dāng)復(fù)雜的工作。由于節(jié)假日,大減價或者是其他情況的時候,營業(yè)額會出現(xiàn)一定的波動,當(dāng)然一定的波動是能夠接受的,但是在某些時候營業(yè)額突變得很高或是很低,這就證明公司此時的經(jīng)營狀況出現(xiàn)了問題。經(jīng)濟管理學(xué)上定義了一種最小波動值來衡量這種情況: 該天的最小波動值 當(dāng)最小波動值越大時,就說明營業(yè)情況越不穩(wěn)定。 而分析整個公司的從成立到現(xiàn)在營業(yè)情況是否穩(wěn)定,只需要把每一天的最小波動值加起來就可以了。你的任務(wù)就是編寫一個程序幫助Tiger來計算這一個值。 第一天的最小波動值為第一天的營業(yè)額。  輸入輸出要求

Input

第一行為正整數(shù) ,表示該公司從成立一直到現(xiàn)在的天數(shù),接下來的n行每行有一個整數(shù)(有可能有負(fù)數(shù)) ,表示第i天公司的營業(yè)額。

Output

輸出文件僅有一個正整數(shù),即Sigma(每天最小的波動值) 。結(jié)果小于2^31 。

Sample Input

6512546

Sample Output

12

HINT

結(jié)果說明:5+|1-5|+|2-1|+|5-5|+|4-5|+|6-5|=5+4+1+0+1+1=12

該題數(shù)據(jù)bug已修復(fù).----2016.5.15

除了第一次意外,每次都查詢前驅(qū)后繼,因為有負(fù)數(shù)的緣故,查詢時要把Inf賦大一點,開始就是因為賦小了各種RE,WA,$!$!@&*T%@%*(!@%@。之后的就只要取min((x-PRe),(sub-x))就行了。
#include <cstdio>#include <algorithm>using namespace std;const int maxx = 50000 + 100;const int maxn = 1000000 + 100;const int Inf = 1000000000 + 100;int num,n,tot,root,Ans1,Ans2,x;bool done[maxn];struct Node{    int lc,rc;    int v,fix;    int size,cnt;}T[maxx];void update(int i){    T[i].size = T[T[i].lc].size + T[T[i].rc].size + 1;}void lturn(int &i){    int t = T[i].rc;    T[i].rc = T[t].lc;    T[t].lc = i;    T[t].size = T[i].size;    update(i);    i = t;}void rturn(int &i){    int t = T[i].lc;    T[i].lc = T[t].rc;    T[t].rc = i;    T[t].size = T[i].size;    update(i);    i = t;}void insert(int &i,int x){    if(i == 0){        num++;        i = num;        T[i].size = 1;        T[i].v = x;        T[i].fix = rand();        return;    }    T[i].size++;    if(x < T[i].v){        insert(T[i].lc,x);        if(T[T[i].lc].fix < T[i].fix) rturn(i);    }    else{        insert(T[i].rc,x);        if(T[T[i].rc].fix < T[i].fix) lturn(i);    }}void Query_pre(int i,int x){    if(i == 0) return;    if(T[i].v <= x){        Ans1 = T[i].v;        Query_pre(T[i].rc,x);    }    else Query_pre(T[i].lc,x);}void Query_sub(int i,int x){    if(i == 0) return;    if(T[i].v >= x){        Ans2 = T[i].v;        Query_sub(T[i].lc,x);    }    else Query_sub(T[i].rc,x);}int main(){    scanf("%d",&n);    for(int i=1;i<=n;i++){        scanf("%d",&x);        Ans1 = -Inf;		Ans2 = Inf;		Query_pre(root,x);        Query_sub(root,x);        if(i!=1)            tot += min((x-Ans1),(Ans2-x));        else        	tot += x;        insert(root,x);    }    printf("%d/n",tot);    return 0;}
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 永吉县| 醴陵市| 中江县| 潜山县| 全椒县| 张掖市| 黔西县| 拉萨市| 乌拉特前旗| 墨竹工卡县| 平湖市| 望谟县| 息烽县| 保亭| 宁南县| 客服| 玉龙| 探索| 赤峰市| 分宜县| 于田县| 安陆市| 吴江市| 南宫市| 诸城市| 昌吉市| 车致| 务川| 乡城县| 滦南县| 望都县| 伊通| 阜新| 惠安县| 岳西县| 建水县| 淮阳县| 和平区| 策勒县| 兴仁县| 乌兰浩特市|