医学信息211翟晨雨


私信TA

用户名:dotcpp0735882

访问量:344

签 名:

等  级
排  名 28378
经  验 537
参赛次数 1
文章发表 2
年  龄 0
在职情况 学生
学  校 河南工学院
专  业

  自我简介:

TA的其他文章

解题思路:

注意事项:

参考代码:

#include <stdio.h>  

#include <stdlib.h>  

  

typedef struct node {  

    int start, end, t;  

} node;  

  

node s[30000];  

int a[30000] = {0};  

  

int cmp(const void *a, const void *b) {  

    node *nodeA = (node *)a;  

    node *nodeB = (node *)b;  

    return (nodeA->end - nodeB->end);  

}  

  

int main() {  

    int ant = 0;  

    int n, h;  

    scanf("%d %d", &n, &h);  

  

    for (int i = 0; i < h; i++) {  

        scanf("%d %d %d", &s[i].start, &s[i].end, &s[i].t);  

    }  

  

    qsort(s, h, sizeof(node), cmp);  

  

    for (int i = 0; i < h; i++) {  

        int sum = 0;  

        for (int j = s[i].end - 1; j >= s[i].start - 1; j--) {  

            if (a[j] == 1) sum++;  

        }  

  

        if (sum >= s[i].t) continue;  

  

        

        for (int j = s[i].end - 1; j >= s[i].start - 1; j--) {  

            if (a[j] != 1) {  

                a[j] = 1;  

                sum++;  

                ant++;  

            }  

  

            if (sum == s[i].t) break;  

        }  

    }  

  

    printf("%d\n", ant);  

    return 0;  

}


 

0.0分

5 人评分

  评论区

  • «
  • »