1. 程式人生 > >NOIp2018鋪設道路(提高組T1)————模擬,貪心

NOIp2018鋪設道路(提高組T1)————模擬,貪心

本題主要考查模擬,貪心,我們可以畫出柱狀圖來分析。當左邊的一堆比右邊矮,左邊的一堆擺完後,右邊的還差一點,那麼擺放次數s加上兩堆的高度差。
程式碼如下:

#include<iostream>
using namespace std;
int n,sum=0,i,j;
int h[10000001];
int main()
{
    cin>>n;
    for(i=1;i<=n;i++)cin>>h[i];
    sum=h[1];
    for(i=1;i<=n;i++)
    {
        if(h[i+1]>h[i])sum+=h[i+1]-h[i];
    }
    cout<<sum;
    return 0;
}