牛客比赛货物种类,差分和map
#include<iostream>
#include<vector>
#include<map>
using namespace std;
const int N=100010;
vector<int>add[N],de[N];
map<int,int> vis; int main()
{
int n,m;
cin>>n>>m;
for(int i=0;i<m;i++)
{
int l,r,w;
cin>>l>>r>>w;
add[l].push_back(w);
de[r+1].push_back(w);
}
int cnt=0;
int ans=0;
int maxx=-1e6;
for(int i=1;i<=n;i++)
{
for(auto j:add[i])
{
if(vis[j]==0)
cnt++;
vis[j]++;
}
for(auto j:de[i])
{
vis[j]--;
if(vis[j]==0)
cnt--;
}
if(cnt>maxx)
{
maxx=cnt;
ans=i;
}
}
printf("%d\n",ans);
return 0;
}