C. The Delivery Dilemma

啊!我的推!你帅亖我了!(封面)

哈哈哈哈哈哈哈哈哈又是我
等等我先发个颠

没错叕是题目:
C . T h e D e l i v e r y D i l e m m a C. The Delivery Dilemma C.TheDeliveryDilemma

咳咳,思路 : : :

假设我们所有菜都让他们送过来,则 a n s ans ans= m a x max max( a 1 a_1 a1 , a 2 a_2 a2 ... , a N a_N aN),

不妨开一个 a n s ans ans表示当前自己去拿已经花费的时间,

由于自己买的时候花费时累加的,

我们先将 a 1 a_1 a1 , a 2 a_2 a2 , ... , a N a_N aN从大

到小排序,

若 a i > a n s + b i a_i > ans + b_i ai>ans+bi

则第 i i i个物品可以通过自己买来代替,否则直接输出答案。

AC时刻

cpp 复制代码
#include <iostream>		// 基本入出力ストリーム
#include <algorithm>	// 一般的なアルゴリズム(ソート、ルックアップ、やり直し、二分ルックアップなど)
#include <vector>		// 動的配列(スペースが足りないと自動的に拡張されます)
#include <queue>		//  スタック(先に入って先に出ます)
#include <stack>		// スタック(先に入ってから出ます)
#include <set>			// 集合(反復しない順序)です
#include <map>			// キー値対コンテナ(マッピング)
#include <list>			//  両方向リスト
#include <math.h>		//  すうがくかんすう
#include <functional>	// 通用的函数绑定和调用机制一般的なバインディングと呼び出しの仕組み

#define endl '\n'
#define pii pair<int, int>
#define pdd pair<double, double>
#define fi first
#define se second
#define pb push_back
#define eb emplace_back

using namespace std;
struct cjdl {
	long long a, b;
} c[200005];
long long t = 0, n = 0;
bool cmp(cjdl x, cjdl y) { //a[i]和b[i],由a[i]从大到小排序
	return x.a > y.a;
}
const int inf = 1e9 + 7;
const int mod = 998244353;
const int N = 2e5 + 10, M = N << 1;

void solve() {
	// 竞赛程序
	cin>>n;
	for(int  i = 1; i <= n; i++) {
		cin >> c[i].a;
	}
	for(int i = 1; i <= n; i++) {
		cin >> c[i].b;
	}
	sort(c + 1, c + n + 1, cmp);
	bool flag = 0;
	long long ans = 0;
	for(int i = 1; i <= n; i++) {
		if(c[i].a > ans + c[i].b) { //有a[i]>ans+b[i]
			ans += c[i].b;//ans加上自己取的时间
		} else { //否则直接输出答案
			cout << max(c[i].a, ans) << endl;
			flag = 1;
			break;
		}
	}
	if(!flag) {
		cout << ans << endl;
	}
}

signed main() {

	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);

	int t = 1;
	cin >> t;	// 非多组测试数据请注释该行
	while(t--) solve();
	return 0;
}

最后我还要声明一下:

我到底还要说多少遍我写代码用的是CPP! ( ( (尖叫扭曲 ) ) )

实在不行你看我洛谷简介 ( ( (裂开 ) ) )

相关推荐
qq3862461967 小时前
更新补发第6天:7天学会C语言,每天5分钟,不需要基础
c语言·for循环·循环语句·while循环·do-while循环
旺仔来了7 小时前
不联网的Linux下部署python环境
linux·开发语言·python
嗝o゚7 小时前
CANN GE 算子融合——融合算法与调度策略
算法·昇腾·cann·ge
小江的记录本8 小时前
【JVM虚拟机】垃圾回收GC:垃圾回收算法:标记-清除、标记-复制、标记-整理、分代收集(附《思维导图》+《面试高频考点清单》)
java·jvm·后端·python·算法·安全·面试
之歆8 小时前
Day16_JavaScript 轮播图与事件工程实战(下篇)
服务器·开发语言·前端·javascript·网络·性能优化
Fre丸子_8 小时前
自定义文件夹选取功能
c++
会Tk矩阵群控的小木8 小时前
云控系统在TikTok多账号管理中的核心应用与技术实现
开发语言·php·开源软件·个人开发·tk矩阵
摇滚侠9 小时前
Java 零基础全套教程,反射机制,笔记 187-188
java·开发语言·笔记
Ulyanov9 小时前
用声明式语法重新定义Python桌面UI:QML+PySide6现代开发入门(一)
开发语言·python·算法·ui·系统仿真·雷达电子对抗仿真
数据科学小丫9 小时前
特征工程处理
人工智能·算法·机器学习