3 条题解

  • 2
    @ 2025-11-20 0:17:29
    #include<stdio.h>
    #include<algorithm>
    using namespace std;
    struct room {
    	int a;  
    	int b;  
    	int c;  
    };
    bool cmp(room p, room q) {
    	return p.b < q.b;
    }
    int main() {
    	int t;
    	scanf("%d", &t);
    	while (t--) {
    		int n;
    		scanf("%d", &n);
    		room s[n + 10];		
    		for (int i = 0; i < n; i++) {
    			scanf("%d%d%d", &s[i].a, &s[i].b, &s[i].c);
    		}		
    		sort(s, s + n, cmp);   		
    		int max = -1000;
    		int arr[200] = {0}; 
    		for (int i = 0; i < n; i++) {
    			for (int j = s[i].b; j < s[i].b + s[i].c; j++) {
    				arr[j] += s[i].a;
    				if (arr[j] > max) {
    					max = arr[j];
    				}
    			}
    		}		
    		printf("%d\n", max);
    	}
    	return 0;
    }
    
    • @ 2025-11-20 0:19:41

      结构体排序+不断通过更新最晚时间来更新房间数

信息

ID
178
时间
3000ms
内存
128MiB
难度
6
标签
(无)
递交数
464
已通过
150
上传者