• VNOJ
  • Trang chủ
  • Danh sách bài
  • Các bài nộp
  • Thành viên
    >
    • Tổ chức
  • Các kỳ thi
  • Wiki
  • Thông tin
    >
    • FAQ
    • Trình chấm ngoài
    • Tag
    • Máy chấm
    • Devlog
    • Github
    • Tickets
    • Thư viện đề thi
    • Đề xuất contest
  • Tạp chí
VI EN Đăng nhập  hoặc  Đăng ký

nb_nbbaclieu_dinhviethoang

  • Thông tin
  • Thống kê
  • Blog

Số bài đã giải: 26
Hạng điểm: #9418
Tổng điểm: 5,77
Đóng góp: 0

Xem các bài nộp

Từ Trường Đại học Hoa Lư, Ninh Bình, Trường THPT chuyên Lương Văn Tụy, Ninh Bình

Thông tin

include <bits/stdc++.h>

define ll long long

define ii pair<ll,ll>

define N 1000005

using namespace std; ll st[N],res,n,m,l[N],r[N],F[N],A[N],cc,top; int main() { freopen("GCP.inp","r",stdin); freopen("GCP.out","w",stdout);

ios_base::sync_with_stdio(false);
cin.tie(0); cout.tie(0);

cin>>n;
for(int i=1;i<=n;i++) cin>>A[i];

top=0;
for (int i=1;i<=n;i++)
{
    while(top>0 && A[st[top]]<=A[i]) top--;
    l[i]=(top>0 ? st[top] : 0);
    st[++top] = i;
}

top=0;
for(int i=n;i>= 1;i--)
{
    while(top>0 && A[st[top]]&lt;A[i]) top--;
    r[i]=(top>0 ? st[top] : n + 1);
    st[++top] = i;
}

ll res=n*(n - 1)/2;
for(int i=1;i<=n;i++)
{
    ll l1=i-l[i];
    ll r1=r[i]-i;
    cc+=(l1-1)*(r1-1);
}
cout<&lt;res-cc;

}

Huy hiệu

Người dùng này không có huy hiệu nào.

«    »
CN
T2
T3
T4
T5
T6
T7
Ít
Nhiều

dựa trên nền tảng DMOJ | theo dõi VNOI trên Github và Facebook