#include<bits/stdc++.h> using namespace std; int n,res; struct doan { int a,b; }; doan d[10000000]; void nhap() { scanf("%d",&n); for(int i=1;i<=n;i++) scanf("%lld %lld",&d[i].a,&d[i].b); } bool ss(doan x,doan y) { return x.a<y.a; } void qs(int l,int r) { int i=l,j=r; int p=d[l+rand()%(r-l)].a; while(i<=j) { while(p>d[i].a) i++; while(p<d[j].a) j--; if(i<=j) { swap(d[i],d[j]); i++; j--; } } if(i<r) qs(i,r); if(j>l) qs(l,j); } int bs(int x, int l, int r) { int mid,res=0; while(l<=r) { mid=(l+r)/2; if(d[mid].a<=x) { res=mid; l=mid+1; } else r=mid-1; } return res; } void xuli() { long long dem=0; int k; sort(d+1,d+1+n,ss); for(int i=1;i<=n-1;i++) { k=bs(d[i].b,i+1,n); if(k>0) dem=dem+(k-i); } printf("%lld",dem); } int main() { freopen("intervals.inp","r",stdin); freopen("intervals.out","w",stdout); nhap(); qs(1,n); xuli(); }
* 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ứ Hai, 9 tháng 5, 2022
INTERVALS 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.