#include <bits/stdc++.h>
using namespace std;
int n;
long long a[100005],b[100005],trai[100005],phai[100005];
void nhap()
{
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
}
void giai()
{
//trai[i] = max(a[1],a[2],...,a[i])
trai[1]=a[1];
for (int i=2;i<=n;i++)
{
if (a[i]>trai[i-1]) trai[i]=a[i];
else trai[i]=trai[i-1];
//cout<<trai[i]<<endl;
}
//phai[i] = max(a[i],a[i+1],...,a[n]);
phai[n]=a[n];
for (int i=n-1;i>=1;i--)
{
if (a[i]>phai[i+1]) phai[i]=a[i];
else phai[i]=phai[i+1];
//cout<<phai[i]<<endl;
}
//tinh b[i]= so nuoc dong tren cot i
for(int i=2;i<=n-1;i++)
{
if(min(trai[i-1],phai[i+1])>a[i])
b[i]=min(trai[i-1],phai[i+1])-a[i];
else
b[i]=0;
// cout<<trai[i-1]<<" "<<b[i]<<" "<<phai[i+1]<<endl;
}
//cot 1 va cot n chac chan khong co nuoc don
long long t=0;
for (int i=2;i<=n-1;i++)
t=t+b[i];
cout<<t;
}
int main()
{
freopen("water.inp","r",stdin);
freopen("water.out","w",stdout);
nhap();
giai();
}
* Chuyên dạy lập trình ONLINE cho học sinh THCS, THPT *.
Mọi giao lưu, trao đổi, xin liên hệ: Lê Quang Vinh - zalo: 037.803.8755.
Page: Lớp học Code Sky
Group FB1: Ôn thi HSG9 - THTB - TS10 chuyên tin
Group FB2: Học Scratch - Ôn thi Tin học trẻ bảng A
Thứ Ba, 3 tháng 5, 2022
WATER C++
Đăng ký:
Đăng Nhận xét (Atom)
Không có nhận xét nào:
Đăng nhận xét
Lưu ý: Chỉ thành viên của blog này mới được đăng nhận xét.