FDU 2020 | 1. 食堂打饭

文章目录

  • [1. 题目描述](#1. 题目描述)
  • [2. 我的尝试](#2. 我的尝试)

1. 题目描述

下课了,有 n 位同学陆续赶到⻝堂进⾏排队打饭,其中第 i 位同学的到达时间为 a i a_i ai,打饭耗时为 t i t_i ti,等待时间上限为 b i b_i bi,即如果其在第 a i + b i a_i+b_i ai+bi秒的时刻仍然没有轮到他开始打饭,那么他将离开打饭队列,另寻吃饭的地⽅。问每位同学的开始打饭时间,或者指出其提前离开了队伍(如果这样则输出 -1)。


样例:

输入

复制代码
4
1 3 3
2 2 2
3 9 1
4 3 2

输出

复制代码
1 4 -1 6

2. 我的尝试

直接模拟大法

cpp 复制代码
#include <bits/stdc++.h>

using namespace std;

int main() {
	int n;
	cin >> n;
	
	int a[n], t[n], b[n], ans[n];
	
	for (int i = 0; i < n; i ++) 
		scanf("%d%d%d", &a[i], &t[i], &b[i]);
		
	int time = 0;
	
	for (int i = 0; i < n; i++) {
		if (time <= a[i] + b[i]) {
			ans[i] = max(time, a[i]);
			time = max(time, a[i]) + t[i];
		}
		
		else ans[i] = -1;
	}
	
	for (int i = 0; i < n; i ++)
		printf("%d ", ans[i]);
		
	return 0;
}
相关推荐
影视飓风TIM8 小时前
Linux 进程虚拟地址空间详解
linux·算法
如何原谅奋力过但无声8 小时前
【灵神高频面试题合集21-25】动态规划(下)
算法·动态规划
释厄6238 小时前
学术引用本体论——WorkBuddy 学术科学文化三违反
网络·人工智能·算法
梦帮科技8 小时前
【3.0修订版】 RNS 代币架构:ERC20 五件套扩展与六钱包分配
数据结构·后端·算法·架构·node.js·区块链·php
(Charon)8 小时前
【C++面试】程序崩溃如何定位:从Segmentation fault到GDB、Core Dump与ASan
开发语言·c++
汉克老师8 小时前
GESP2026年9月认证C++七级( 第三部分编程题(1、必经之路))精讲
c++·gesp·小学生·学c++编程
薛定e的猫咪9 小时前
(AISTATS 2023)BaCaDI:未知干预下的贝叶斯因果发现
人工智能·深度学习·算法·机器学习
ebiobiz9 小时前
Zig 嵌入式底层库选择与 build.zig 组织指南
c语言·c++·嵌入式硬件·mcu
漂流瓶jz10 小时前
UVA-11491 奖品的价值 题解答案代码 算法竞赛入门经典第二版
c++·算法·图论·题解·aoapc·算法竞赛入门经典·uva
weixin_3077791314 小时前
C++代码实现MATLAB中的dlarray函数功能
开发语言·c++·算法·matlab