2 条题解

  • 1
    @ 2026-3-22 15:30:56
    #include <bits/stdc++.h>
    using namespace std;
    struct node{
    	int b,e,t;
    }a[11451];
    bool cmp(node x,node y){
    	return x.e < y.e;
    }
    int n,m,ans,sum;
    bool vis[114514];
    int main(){
    	cin >> n >> m;
    	for(int i = 0 ; i < m ; i++) cin >> a[i].b >> a[i].e >> a[i].t;
    	sort(a,a+m,cmp);
    	for(int i = 0 ; i < m ; i++){
    		sum = 0;
    		for(int j = a[i].b ; j <= a[i].e ; j++) if(vis[j]) sum++;
    		if(sum >= a[i].t) continue;
    		for(int j = a[i].e ; j >= a[i].b && sum < a[i].t ; j--) if(!vis[j]) vis[j] = true,sum++,ans++;
    	}
    	cout << ans << endl;
    	return 0;
    }
    

    信息

    ID
    348
    时间
    1000ms
    内存
    512MiB
    难度
    7
    标签
    递交数
    31
    已通过
    8
    上传者