题目链接:https://codeforces.com/contest/978/problem/G

题目大意:n天m门考试,每门考试给定三个条件,分别为:1、可以开始复习的日期。2、考试日期。3、必须要复习的时间。根据以上条件,给出每天的安排,每天可以做三件事:1、考试。2、复习。3、休息

题解:先假设每天都在休息,然后依次填东西,策略是最先考试的最先复习

AC代码:

#include<cstdio>
#include<cstring>
#include<algorithm>
#include<map>
#include<iostream>
#include<vector>
#include<string>
#include<cmath>
#include<set> using namespace std;
typedef long long ll;
typedef unsigned long long ull;
const int N = +;
struct exam{
int b;
int s;
int d;
int c;
}e[N];
bool cmp(exam& a,exam& b){
return a.d < b.d;
}
int ans[N];
int main(void){
int n,m;
memset(ans,,sizeof(ans));
scanf("%d%d",&n,&m);
for(int i = ;i <= m;i++){
scanf("%d%d%d",&e[i].s,&e[i].d,&e[i].c);
e[i].b = i;
}
sort(e+,e+m+,cmp);
int ok = ;
for(int i = ;i<=m;i++){
if(ok){
for(int j=e[i].s;;j++){
if(j == e[i].d && e[i].c != ){
ok = ;
printf("-1");
break;
}
if(e[i].c == ){
ans[e[i].d] = m+;
break;
}
if(ans[j] == ){
ans[j] = e[i].b;
e[i].c--;
}
}
}
}
if(ok){
for(int i = ;i<=n;i++){
printf("%d",ans[i]);
if(i != n){
printf(" ");
}
}
}
return ;
}

最新文章

  1. thinkphp配置文件路径
  2. token详解(转载)
  3. Python Day9
  4. C#中有哪些类型的数组
  5. Azure China (2) Azure China管理界面初探
  6. 十五、EnterpriseFrameWork框架核心类库之系统启动入口与初始化
  7. TCP keepalive overview
  8. iis7 500错误日志报 LOG_FILE_MAX_SIZE_TRUNCATE
  9. My SQL 练习题
  10. To restore the database on a new host-将数据库恢复至一个新的主机上
  11. 圆形头像以及一些常见需求形状自定义ImageView组件
  12. c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
  13. C#连接六类数据库的代码集
  14. 深入常用CSS声明(一) —— Background
  15. sed命令实现文件内容替换总结案例
  16. Docker(十五)-Docker的数据管理(volume/bind mount/tmpfs)
  17. [No0000E6]C# 判断与循环
  18. ArcGIS读取dem格式数据
  19. ffmpeg 播放音频
  20. python map函数的使用

热门文章

  1. ZT linux的mount(挂载)命令详解
  2. scrapy爬虫框架之Xpath选择器
  3. java StringBuilder案例
  4. Java虚拟机17:互斥同步、锁优化及synchronized和volatile
  5. AOP-Pointcut-笔记
  6. mysqldump.md
  7. Day18 (一)类的加载器
  8. [luogu1081] 开车旅行
  9. Node.js框架之Egg.js
  10. SpringCloud 学习(一) :Features