bzoj1651

    xiaoxiao2021-03-25  125

    分析:按照差分的思想,区间的左端点+1,右端点-1,扫一遍就好了。。反正才1e6. 然后WA了一发,不知道哪里错,后来才发现,要a[r+1]–,因为他给出的时间是l到r,那么r也是有的。。

    #include<cstdio> #include<cstring> #include<algorithm> #include<math.h> #define fo(i,a,b) for(int i=a;i<=b;i++) #define fd(i,a,b) for(int i=a;i>=b;i--) using namespace std; typedef long long ll; const int inf=1e9+5; int n,m; const int N=1e5+5; const int M=2e6+5; int tim[M]; int main() { scanf("%d",&n); int left=1,right=1000000; fo(i,1,n) { int l,r; scanf("%d%d",&l,&r); tim[l]++,tim[r+1]--; //right=max(right,r); //left=min(left,l); } int ans=0,tot=0; fo(i,left,right) { tot+=tim[i]; //printf("%d\n",tot); ans=max(ans,tot); } printf("%d\n",ans); return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-12716.html

    最新回复(0)