1 条题解
-
0
#include <iostream> #include <cstring> #include <algorithm> #include <queue> using namespace std; struct node { int b, e; int t; friend bool operator < (node a, node b) { return a.e<b.e; } }se[5005]; bool vis[30005]; int main() { int n, h; int ans; cin>>n>>h; memset(vis, 0, sizeof(vis)); for(int i=1; i<=h; i++) { cin>>se[i].b>>se[i].e>>se[i].t; } sort(se+1, se+h+1); ans=0; for(int i=1; i<=h; i++) { int cnt=0; for(int j=se[i].b; j<=se[i].e; j++) { cnt+=vis[j]; } for(int j=se[i].e; j>=se[i].b && cnt<se[i].t; j--) { if(!vis[j]) { vis[j]=1; cnt++; ans++; } } } cout<<ans<<endl; return 0; }
信息
- ID
- 283
- 时间
- 1000ms
- 内存
- 512MiB
- 难度
- 10
- 标签
- 递交数
- 1
- 已通过
- 1
- 上传者