题解 P3028 【[USACO10OCT]汽水机Soda Machine】

Starria的脑残粉

2017-10-05 19:35:46

Solution

显然。。可以直接快排一下然后瞎搞啊。。 类似于区间差分 ```cpp #include<bits/stdc++.h> using namespace std; int n,sum,ans; struct lsg{int x,y;}a[2000000]; bool pd(lsg x,lsg y){return x.x<y.x||x.x==y.x&&x.y>y.y;}//快排 int main(){ ios::sync_with_stdio(false); cin>>n;for (int i=1;i<=n;i++)cin>>a[i].x>>a[i+n].x,a[i].y=1,a[i+n].y=-1;//差分 sort(a+1,a+1+n*2,pd); for (int i=1;i<=n*2;i++)sum+=a[i].y,ans=max(ans,sum); cout<<ans<<endl; } ```