#include<bits/stdc++.h> #define lowbit(x) x&(-x) using namespace std; int a[1000005],ton[1000005]; int n,m,l,r,op; void add(int x,int k) { for(int i=x;i<=n;i+=lowbit(i)) a[i]+=k; } int fun(int x) { int sum=0; for(int i=x;i>=1;i-=lowbit(i)) sum+=a[i]; return sum; } void solve() { memset(ton,0,sizeof(ton)); memset(a,0,sizeof(a)); cin>>n>>m; for(int i=1;i<=m;i++) { cin>>op; if(op==1) cin>>l>>r; else if(op==2) { cin>>l; r=n; } else { cin>>r; l=1; } add(l,1); add(r+1,-1); } int ans=0,minn=1000000; for(int i=1;i<=n;i++) { ton[i]=fun(i); if(minn>ton[i]) { minn=ton[i]; ans=0; } if(minn==ton[i]) ans++; } cout<<m-minn<<' '<<ans; } int main() { ios::sync_with_stdio(false); cin.tie(0);cout.tie(0); int t=1; // cin>>t; while(t--) solve(); return 0; }
全部评论
(0) 回帖