在一个区间加减相同值(差分)

2041. 干草堆 - AcWing题库

#include<bits/stdc++.h>
using namespace std;
#define endl "\n"
#pragma GCC optimize(3)

int arr[1000010];

int main()
{
  ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
  int N,K;
  cin>>N>>K;
  while(K--)
  {
    int a,b;
    cin>>a>>b;
    arr[a]++;arr[b+1]--;
  }
  for(int i=1;i<=N;i++) arr[i]+=arr[i-1];//当在一个区间加减相同值时可以使用
  sort(arr+1,arr+1+N);
  cout<<arr[(N+1)/2]<<endl;
  return 0;
}

posted @ 2023-01-04 21:15  七星,北辰  阅读(42)  评论(0)    收藏  举报