NOJ 网络赛 L题 送花

题目:

送花

时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte
总提交 : 116            测试通过 : 41

题目描述

萌妹纸一般都比较喜欢漂亮的鲜花。每逢各种节日,她们都想收到鲜花作为礼物。如果你是有妹纸滴人,经常不送妹纸花的话,结果可想而知了。

当然咯,妹纸都是通情达理的,不会因为某几次你木有送花,就发你好人卡了。王童鞋作为一个比较节俭(抠门)的人便知道这一道理,因此他想在妹纸不给他发好人卡的前提下,送尽量少的花。

为了简单起见,我们定义一个妹纸的幸福指数H(初始为0 )。如果某天幸福指数H小于0,那就。。。

如果某天妹纸收到了花,幸福指数H会增加ai,如果没收到,会下降bi。不同的日子送花对幸福指数的增加可能会有所不同,比如在2月14号送花就会比2月15号效果好~

即告诉你总天数n(1<=n<=365),每天收到花幸福指数的增加值ai(1<=ai<=10),没收到花幸福指数的降低值bi,求为了让妹纸的幸福指数H一直>=0,王童鞋至少要送妹纸多少朵花。

输入

第一行为一个正整数T,表示有T组数据。

每组数据第一行有1个整数: n表示总天数1<=n<=365。

第二行为n个整数ai表示第i天收到花幸福指数的增加值,1<=ai<=10。第三行为n个整数bi表示第i天没收到花幸福指数的下降值,1<=bi<=10。

输出

一个整数表示最少需要送多少朵花。

样例输入

2
1
3
4
5
5 2 10 1 1
1 1 1 5 5

样例输出

1
2

题目来源

NUPT

题目分析:

贪心。先根据增加值进行贪心(从大到小排序)。然后枚举每一种情况即可。以下代码能够AC,但我不知道是否正确理解了出题人的意思,以下代码仅供参考。

代码如下:

/*
 * l.cpp
 *
 *  Created on: 2015年3月29日
 *      Author: Administrator
 */

#include <iostream>
#include <cstdio>
#include <algorithm>

using namespace std;

const int maxn = 366;

struct Flower{
	int up;
	int down;
}flowers[maxn];

bool cmp(Flower a,Flower b){
	return a.up > b.up;
}

int main(){
	int t;
	scanf("%d",&t);
	while(t--){
		int n;
		scanf("%d",&n);

		int i;
		for(i = 0 ; i < n ; ++i){
			scanf("%d",&flowers[i].up);
		}

		for(i = 0 ; i < n ; ++i){
			scanf("%d",&flowers[i].down);
		}

		sort(flowers,flowers+n,cmp);

		int j;
		int cnt;
		int ans;
		for(i = 0 ; i < maxn ; ++i){
			cnt = 0;
			ans = 0;
			for(j = 0 ; j <= i ; ++j){
//				cnt = (i-j+1);

				ans += flowers[j].up;
			}

			for(j = i+1 ; j < n ; ++j){
				ans -= flowers[j].down;
				if(ans < 0){
					break;
				}
			}

			if((j >= n-1) && ans >= 0 ){
				break;
			}
		}

		printf("%d\n",i+1);

	}

	return 0;
}
时间: 2024-10-08 16:52:15

NOJ 网络赛 L题 送花的相关文章

NOJ 网络赛 D题 天神小学

题目: 天神小学 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 148            测试通过 : 53 题目描述 <corpse party:blood drive>中有这么一段,班长筱崎亚由美拿到六鬼门的晶石,导致了涅?的暴走,天小的崩溃,靠着幸子的力量才逃出了天小.(剧情什么的不重要) 现在我们假设没有幸子,班长需要靠自己的力量逃出天神小学.可以把天神小学看作是一个二维的迷宫,每一秒都只能从

NOJ 网络赛 B题 pdf的旅游

题目: pdf的旅游 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 108            测试通过 : 26 题目描述 a协有一位pdf是一位旅(作)游(死)爱好者,曾经在出去比赛之后拐带学弟翘课一周,四处旅游. 最近pdf又突发奇想,想再出去旅游一次.出去旅游之前当然要好好计划一番.Pdf给自己想去的地方并给它们编好了号(起点为1).为了不跟自己过不去,pdf提前找出哪些地点存在交通方便的路径,而

NOJ 网络赛 C题 特技的幂

题目: 特技的幂 时间限制(普通/Java) : 1000 MS/ 3000 MS          运行内存限制 : 65536 KByte总提交 : 485            测试通过 : 106 题目描述 幂运算是常见的数学运算之一,其原理是用同一个数相乘多次,但是有的时候当幂指数特别大的时候,这样的运算就太浪费时间.请大家学会在幂中加特技,让幂运算的效率提高到可以接受的程度. 输入 第一个行一个整数T,表示有T组数据 每组数据,输入x,y 求x的y次幂 (2≤ x ,y≤10^9)

ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval

ACM-ICPC 2019南昌网络赛I题 Yukino With Subinterval 题目大意:给一个长度为n,值域为[1, n]的序列{a},要求支持m次操作: 单点修改 1 pos val 询问子区间中某个值域的数的个数,连续的相同数字只记为一个.(即统计数字段的个数) 2 L R x y 数据范围: 1 ≤ n,m ≤ 2×10^5 1 ≤ a[i] ≤ n 解题思路: 连续重复的数字只记一次.所以考虑将每个数字段除第一个出现外的数字都删去(记为0).在读入操作的时候暴力模拟,同时维护

2015北京网络赛A题The Cats&#39; Feeding Spots

题意:给你一百个点,找个以这些点为中心的最小的圆,使得这个圆恰好包含了n个点,而且这个圆的边界上并没有点 解题思路:暴力枚举每个点,求出每个点到其他点的距离,取第n大的点,判断一下. 1 #include<cstdio> 2 #include<cmath> 3 #include<algorithm> 4 #include<iostream> 5 #include<memory.h> 6 using namespace std; 7 const i

西电校赛网络赛J题 lucas定理计算组合数

西电校赛网络赛J题  lucas定理计算组合数 问题 J: 找规律II 时间限制: 1 Sec  内存限制: 128 MB 提交: 96  解决: 16 [提交][状态][讨论版] 题目描述 现有数阵如下: 1    2  3   4     5    6 1   3   6  10  15 1   4  10   20 1   5   15 1    6 1 求这个数阵的第n行m列是多少(行列标号从1开始) 结果对10007取模 输入 多组数据,每组数据一行,包含两个整数n,m(1<=n<=

hdu4271 Find Black Hand 2012长春网络赛E题 最短编辑距离

hdu4271 Find Black Hand  2012长春网络赛E题  最短编辑距离 Find Black Hand Time Limit : 5000/2000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submission(s) : 19   Accepted Submission(s) : 1 Problem Description I like playing game with my friend

HDU 5024 Wang Xifeng&#39;s Little Plot(广州网络赛C题)

HDU 5024 Wang Xifeng's Little Plot 题目链接 思路:先利用记忆化搜索预处理出每个结点对应8个方向最远能走多远,然后枚举拐点记录最大值即可 代码: #include <cstdio> #include <cstring> #include <algorithm> using namespace std; const int d[8][2] = {{-1, 0}, {0, 1}, {1, 0}, {0, -1}, {-1, 1}, {1,

ACM-ICPC 2018徐州网络赛-H题 Ryuji doesn&#39;t want to study

C*M....死于update的一个long long写成int了 心累 不想写过程了 ******** 树状数组,一个平的一个斜着的,怎么斜都行 题库链接:https://nanti.jisuanke.com/t/31460 #include <iostream> #include <cstring> #define ll long long #define lowbit(x) (x & -x) using namespace std; const int maxn =