1 条题解

  • 0
    @ 2026-9-30 12:36:10

    C++ :

    #include<bits/stdc++.h>
    using namespace std;
    long long cf[100005],a,b,n,m,ans,p,h;
    struct gx{
    	long long a,b;
    }c[10005];
    bool cmp(const gx& q,const gx& h)
    {
    	if(q.a==h.a) return q.b<h.b;
    		else return q.a<h.a;
    }
    int main(){
        cin>>n>>p>>h>>m;
        cf[1]=h;
        for(int i=1;i<=m;++i)
        {
        	scanf("%lld %lld",&c[i].a,&c[i].b);
        	if(c[i].a>c[i].b) swap(c[i].a,c[i].b);
        }
        sort(c+1,c+1+m,cmp);
        for(int i=1;i<=m;++i)
        	{
        		//cout<<c[i].a<<" "<<c[i].b<<endl;
        		if(c[i].a==c[i-1].a&&c[i].b==c[i-1].b) continue;
    			cf[c[i].a+1]--;
        		cf[c[i].b]++;
        	}
        
    			
        for(int i=1;i<=n;++i)
        {
        	ans+=cf[i];
    		printf("%lld\n",ans);
        }
        	
        return 0;
    }
    
    
    • 1

    信息

    ID
    2620
    时间
    1000ms
    内存
    128MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者