if WA on#1,#3
查看原帖
if WA on#1,#3
360025
zzyaba楼主2024/10/14 15:03
#include<bits/stdc++.h>
#define int long long
using namespace std;
int n,l,r,y,x,v,h,ans[100002];
map<int,int>mp;
vector<pair<int,int> >vec;
signed main(){
    cin>>n>>l>>r>>y;
    for(int i=1;i<=n;i++){
        cin>>x>>v>>h;
        mp[x-(y*h-1)/v]++;
        mp[x+(y*h-1)/v+1]--;
    }
    mp[l];     //wrong:mp[l]=0
    mp[r+1];   //wrong:mp[r+1]=0
    for(auto&i:mp){
        vec.push_back(i);
    }
    vec[0].first=l;
    for(int i=1;i<vec.size();i++){
        vec[i].second+=vec[i-1].second;
        vec[i].first=max(l,min(r+1,vec[i].first));
        ans[vec[i-1].second]+=vec[i].first-vec[i-1].first;
    }
    for(int i=0;i<=n;i++){
        cout<<ans[i]<<endl;
        ans[i+1]+=ans[i];
    }
}

2024/10/14 15:03
加载中...