【C++ 真题】P2920 [USACO08NOV] Time Management S

P2920 [USACO08NOV] Time Management S

题目描述

Ever the maturing businessman, Farmer John realizes that he must manage his time effectively. He has N jobs conveniently numbered 1…N (1 <= N <= 1,000) to accomplish (like milking the cows, cleaning the barn, mending the fences, and so on).

To manage his time effectively, he has created a list of the jobs that must be finished. Job i requires a certain amount of time T_i (1 <= T_i <= 1,000) to complete and furthermore must be finished by time S_i (1 <= S_i <= 1,000,000). Farmer John starts his day at time t=0 and can only work on one job at a time until it is finished.

Even a maturing businessman likes to sleep late; help Farmer John determine the latest he can start working and still finish all the jobs on time.

作为一名忙碌的商人,约翰知道必须高效地安排他的时间。他有 N ( 1 ≤ N ≤ 1000 ) N(1\le N\le 1000) N(1N1000) 个工作要做,比如给奶牛挤奶,清洗牛棚,修理栅栏之类的。

为了高效,约翰列出了所有工作的清单。第 i ( 1 ≤ i ≤ N ) i(1\le i\le N) i(1iN) 个工作需要 T i ( 1 ≤ T i ≤ 1000 ) T_i(1\le T_i\le 1000) Ti(1Ti1000) 单位的时间来完成,而且必须在 1 ≤ S i ≤ 1 0 6 1\le S_i\le 10^6 1Si106 或之前完成。现在是 0 0 0 时刻。约翰做一份工作必须直到做完才能停止。

所有的商人都喜欢睡懒觉。请帮约翰计算他最迟什么时候开始工作,可以让所有工作按时完成。(如果始终无法完成全部任务,输出 − 1 -1 1

输入格式

* Line 1: A single integer: N

* Lines 2…N+1: Line i+1 contains two space-separated integers: T_i and S_i

输出格式

* Line 1: The latest time Farmer John can start working or -1 if Farmer John cannot finish all the jobs on time.

输入输出样例 #1

输入 #1

4 
3 5 
8 14 
5 20 
1 16

输出 #1

2

说明/提示

Farmer John has 4 jobs to do, which take 3, 8, 5, and 1 units of time, respectively, and must be completed by time 5, 14, 20, and 16, respectively.

Farmer John must start the first job at time 2. Then he can do the second, fourth, and third jobs in that order to finish on time.

题解

#include "bits/stdc++.h"
using namespace std;
const int N = 1e6+7;
int n, a, b;
int g[N], sum = 1, ans, mid;
struct work{int t, T;
};
work que[N];
bool cmp(work a, work b){return a.T > b.T;
}
int main() {cin>>n;for(int i=1;i<=n;++i){cin>>que[i].t>>que[i].T;}sort(que+1, que+n+1, cmp);int less = que[1].T - que[1].t;for(int i=2;i<=n;++i){if(que[i].T <= less){less = que[i].T - que[i].t;}else if(que[i].T > less){less = less - que[i].t;}}if(less<0){cout<<"-1"<<endl;}else{cout<<less<<endl;}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/70993.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

#用于跟踪和反映数据源对象的变化--useMagical

import {cloneDeep } from lodash-es import {reactive, ref, watchEffect } from vue /*** 神奇函数* @param source 数据源,* @param initKey 固定需要返回的属性* @description 收集数据源中修改的属性,并返回* @version 1.0 仅支持对象* @author sufei* @return { source, …

快速排序

目录 什么是快速排序&#xff1a; 图解&#xff1a; 递归法&#xff1a; 方法一&#xff08;Hoare法&#xff09;&#xff1a; 代码实现&#xff1a; 思路分析&#xff1a; 方法二&#xff08;挖坑法&#xff09;&#xff1a; 代码实现&#xff1a; 思路分析&#xff1a; 非递…

数据结构-链式二叉树

文章目录 一、链式二叉树1.1 链式二叉树的创建1.2 根、左子树、右子树1.3 二叉树的前中后序遍历1.3.1前(先)序遍历1.3.2中序遍历1.3.3后序遍历 1.4 二叉树的节点个数1.5 二叉树的叶子结点个数1.6 第K层节点个数1.7 二叉树的高度1.8 查找指定的值(val)1.9 二叉树的销毁 二、层序…

gitlab无法登录问题

在我第一次安装gitlab的时候发现登录页面是 正常的页面应该是 这种情况的主要原因是不是第一次登录&#xff0c;所以我们要找到原先的密码 解决方式&#xff1a; [rootgitlab ~]# vim /etc/gitlab/initial_root_password# WARNING: This value is valid only in the followin…

Elastic Cloud Serverless 现已在 Microsoft Azure 上提供技术预览版

作者&#xff1a;来自 Elastic Yuvi Gupta Elastic Cloud Serverless 提供了启动和扩展安全性、可观察性和搜索解决方案的最快方法 — 无需管理基础设施。 今天&#xff0c;我们很高兴地宣布 Microsoft Azure 上的 Elastic Cloud Serverless 技术预览版现已在美国东部地区推出。…

AI前端开发:蓬勃发展的机遇与挑战

人工智能&#xff08;AI&#xff09;领域的飞速发展&#xff0c;正深刻地改变着我们的生活方式&#xff0c;也为技术人才&#xff0c;特别是AI代码生成领域的专业人士&#xff0c;带来了前所未有的机遇。而作为AI应用与用户之间桥梁的前端开发&#xff0c;其重要性更是日益凸显…

Spring Boot整合DeepSeek实现AI对话(API调用和本地部署)

本篇文章会分基于DeepSeek开放平台上的API&#xff0c;以及本地私有化部署DeepSeek R1模型两种方式来整合使用。 本地化私有部署可以参考这篇博文 全面认识了解DeepSeek利用ollama在本地部署、使用和体验deepseek-r1大模型 Spring版本选择 根据Spring官网的描述 Spring AI是一…

Java 大视界 -- 云计算时代 Java 大数据的云原生架构与应用实践(86)

&#x1f496;亲爱的朋友们&#xff0c;热烈欢迎来到 青云交的博客&#xff01;能与诸位在此相逢&#xff0c;我倍感荣幸。在这飞速更迭的时代&#xff0c;我们都渴望一方心灵净土&#xff0c;而 我的博客 正是这样温暖的所在。这里为你呈上趣味与实用兼具的知识&#xff0c;也…

【RK3588嵌入式图形编程】-SDL2-鼠标输入处理

鼠标输入处理 文章目录 鼠标输入处理1、概述2、鼠标移动事件3、鼠标点击事件4、鼠标点击位置5、鼠标双击6、鼠标进入和离开事件7、总结在本文中,将介绍如何在 SDL2 中检测和处理鼠标输入事件,包括鼠标移动、按钮点击以及窗口进入/退出。 1、概述 在本文中,我们将详细介绍如…

Qt - 地图相关 —— 3、Qt调用高德在线地图功能示例(附源码)

效果 作者其他相关文章链接:           Qt - 地图相关 —— 1、加载百度在线地图(附源码)           Qt - 地图相关 —— 2、Qt调用百度在线地图功能示例全集,包含线路规划、地铁线路查询等(附源码)           Qt - 地图相关 —— 3、Qt调用…

PCB多层板打样:深度解析优缺点与应用场景

随着电子产品朝小型化、高性能化方向发展&#xff0c;PCB多层板扮演着越来越重要的角色。无论是智能手机、计算机&#xff0c;还是航空航天、工业控制&#xff0c;多层板都发挥着至关重要的作用。像专业的PCB制造商——嘉立创&#xff0c;凭借超高层工艺&#xff0c;可以生产最…

CCFCSP第34次认证第一题——矩阵重塑(其一)

第34次认证第一题——矩阵重塑&#xff08;其一&#xff09; 官网链接 时间限制&#xff1a; 1.0 秒 空间限制&#xff1a; 512 MiB 相关文件&#xff1a; 题目目录&#xff08;样例文件&#xff09; 题目背景 矩阵&#xff08;二维&#xff09;的重塑&#xff08;reshap…

2023-arXiv-CoT Prompt 思维链提示提升大型语言模型的推理能力

arXiv | https://arxiv.org/abs/2201.11903 摘要&#xff1a; 我们探讨了如何生成思维链&#xff08;一系列中间推理步骤&#xff09;显著提高大型语言模型执行复杂推理的能力。在三个大型语言模型上的实验表明&#xff0c;思维链提示提高了一系列算术、常识和符号推理任务的性…

macOS部署DeepSeek-r1

好奇&#xff0c;跟着网友们的操作试了一下 网上方案很多&#xff0c;主要参考的是这篇 DeepSeek 接入 PyCharm&#xff0c;轻松助力编程_pycharm deepseek-CSDN博客 方案是&#xff1a;PyCharm CodeGPT插件 DeepSeek-r1:1.5b 假设已经安装好了PyCharm PyCharm: the Pyth…

AcWing 190. 字串变换 --BFS-双向搜索

已知有两个字串 A, B 及一组字串变换的规则&#xff08;至多 66 个规则&#xff09;: A1→B1 A2→B2 … 规则的含义为&#xff1a;在 A 中的子串 A1A1 可以变换为 B1、A2 可以变换为 B2…。 例如&#xff1a;A&#xff1d;abcd B&#xff1d;xyz 变换规则为&#xff1a; …

2023-arXiv-GTE: 基于多阶段对比学习的通用文本嵌入模型

arXiv | https://arxiv.org/abs/2308.03281 gte-Qwen2-1.5B-instruct | https://www.modelscope.cn/models/iic/gte_Qwen2-1.5B-instruct gte-Qwen2-7B-instruct | https://www.modelscope.cn/models/iic/gte_Qwen2-7B-instruct 摘要&#xff1a; 我们提出了GTE&#xff0c;一…

计算机视觉中图像的基础认知

一、图像/视频的基本属性 在计算机视觉中&#xff0c;图像和视频的本质是多维数值矩阵。图像或视频数据的一些基本属性。 宽度&#xff08;W&#xff09; 和 高度&#xff08;H&#xff09; 定义了图像的像素分辨率&#xff0c;单位通常是像素。例如&#xff0c;一张 1920x10…

C语言基本概念————讨论sqrt()和pow()函数与整数的关系

本文来源&#xff1a;C语言基本概念——讨论sqrt()和pow()函数与整数的关系. C语言基本概念——sqrt和pow函数与整数的关系 1. 使用sqrt()是否可以得到完全平方数的精确的整数平方根1.1 完全平方数的计算结果是否精确&#xff1f;1.2 为什么不会出现误差&#xff08;如 1.99999…

Flink提交pyflink任务

1.官方文档&#xff1a; flink1.14:https://nightlies.apache.org/flink/flink-docs-release-1.14/docs/deployment/cli/#submitting-pyflink-jobs flink1.18:https://nightlies.apache.org/flink/flink-docs-release-1.18/docs/deployment/cli/#submitting-pyflink-jobs 2.提…

程序诗篇里的灵动笔触:指针绘就数据的梦幻蓝图<10>

大家好啊&#xff0c;我是小象٩(๑ω๑)۶ 我的博客&#xff1a;Xiao Xiangζั͡ޓއއ 很高兴见到大家&#xff0c;希望能够和大家一起交流学习&#xff0c;共同进步。 今天我们继续来复习指针… 目录 一、看一段代码二、 一维数组传参的本质三、冒泡排序3.1 基本思想四、二…