CF刷题-Codeforces Round #481-G. Petya's Exams
2024-08-25 12:39:22
题目链接: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 ;
}
最新文章
- thinkphp配置文件路径
- token详解(转载)
- Python Day9
- C#中有哪些类型的数组
- Azure China (2) Azure China管理界面初探
- 十五、EnterpriseFrameWork框架核心类库之系统启动入口与初始化
- TCP keepalive overview
- iis7 500错误日志报 LOG_FILE_MAX_SIZE_TRUNCATE
- My SQL 练习题
- To restore the database on a new host-将数据库恢复至一个新的主机上
- 圆形头像以及一些常见需求形状自定义ImageView组件
- c3p0、dbcp、tomcat jdbc pool 连接池配置简介及常用数据库的driverClass和驱动包
- C#连接六类数据库的代码集
- 深入常用CSS声明(一) —— Background
- sed命令实现文件内容替换总结案例
- Docker(十五)-Docker的数据管理(volume/bind mount/tmpfs)
- [No0000E6]C# 判断与循环
- ArcGIS读取dem格式数据
- ffmpeg 播放音频
- python map函数的使用