关键词:
有一群人在排队,如果某个人想排到前面去,可以花一元钱给直接站在他前面的人,然后和这个人交换位置。如果自己没有钱了,就不能和前面的人交换。
但是呢,队列里面的人觉得排他前面的所有人一定要比较有钱的,至少不能比他自己拿的少。否则里面就会有人生气。站在队头的人一定是高兴的。
现在给出一个队列的初始状态,问能不能调整队列,使得里面的人都高兴。
样例解释:样例1中,队尾的人可以和前面的人交换,变成9 10。
单组测试数据。 第一行包含一个整数n (1 ≤ n ≤ 200,000),表示队列中的人数。 第二行包含n个空格分开的整数 ai (0 ≤ ai ≤ 10^9),ai表示队列中第i个人手上拿的钱。编号从队尾开始。
对于每一组数据如果能够使得所有人高兴输出Happy,否则输出Sad。
2 11 8 2 9 8
Happy Sad
思路:可以发现下标加上数值是个定值所以,只要判重就可以了;
1 #include<stdio.h> 2 #include<algorithm> 3 #include<stdlib.h> 4 #include<queue> 5 #include<map> 6 #include<stack> 7 #include<string.h> 8 #include<iostream> 9 #define FOR(i,n) for (i = 0;i < n;i++) 10 #define SC(n) scanf("%d",&n); 11 using namespace std; 12 const int BufferSize=1<<16; 13 char buffer[BufferSize],*head,*tail; 14 inline char Getchar() 15 { 16 if(head==tail) 17 { 18 int l=fread(buffer,1,BufferSize,stdin); 19 tail=(head=buffer)+l; 20 } 21 return *head++; 22 } 23 inline int read() 24 { 25 int x=0,f=1; 26 char c=Getchar(); 27 for(; !isdigit(c); c=Getchar()) if(c==‘-‘) f=-1; 28 for(; isdigit(c); c=Getchar()) x=x*10+c-‘0‘; 29 return x*f; 30 } 31 int ans[500000]; 32 map<int,int>my; 33 int main(void) 34 { 35 int c; 36 c = read(); 37 int flag = 0; 38 int i; 39 FOR(i,c) 40 { 41 ans[i] = read(); 42 ans[i] = ans[i]+i; 43 } 44 sort(ans,ans+c); 45 int x = ans[0]; 46 for(i = 1; i < c; i++) 47 { 48 if(ans[i]==x) 49 { 50 flag = 1;break; 51 } 52 x = ans[i]; 53 } 54 if(flag)printf("Sad "); 55 else printf("Happy "); 56 return 0; 57 }
oj--九度oj---1431
#include<cstdio>#include<cstring>#defineoffset500000boolisinput[1000001];intmain(){intn,m;while(scanf("%d%d",&n,&m)!=EOF){memset(isinput,0,sizeof(isinput));inttmp;for(i 查看详情
hdu1431素数回文
有人问我这个问题。个人感觉暴搜会TLEO(n*sqrt(n))。n=100000000;(推断素数用2~sqrt(n)+1去除)还是枚举好了。枚举1~10000,把他每一位存下来,回文数已知left。求right,然后组合起来。比如1,推断11是否素数。比如10。推断101是否... 查看详情
题解报告:hdu1431素数回文(代码片段)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1431解题思路:这道题交了10次才A掉(怪菜鸡太弱。。。),刚开始是直接用欧拉筛算法模板+简单的判断回文,结果显示超内存。。。欧拉筛的时间复杂度可是O(n)线性时间。。。这... 查看详情
6.1——1431.拥有最多糖果的孩子(代码片段)
1431.拥有最多糖果的孩子给你一个数组 candies 和一个整数 extraCandies ,其中 candies[i] 代表第i个孩子拥有的糖果数目。对每一个孩子,检查是否存在一种方案,将额外的 extraCandies 个糖果分配给孩子们... 查看详情
cdoj1431不是图论label:tarjan||kosarajn
E- 不是图论TimeLimit:1000MS MemoryLimit:65535KB 64bitIOFormat:%lld&%lluDescription给出一个nn个点,mm条边的有向图。每个点上有分值,经过这个点时可以获得一定的分数。一个点可以经过多次... 查看详情
优化算法乌燕鸥优化算法(stoa)含matlab源码1431期(代码片段)
...源:【优化算法】乌燕鸥优化算法(STOA)【含Matlab源码1431期】备注:开通CSDN会员,仅只能免费获得1份代码(有效期为开通日起,三天内有效);订阅紫极神光博客付费专 查看详情
算法学习1431.拥有最多糖果的孩子(各种语言击败100%)(代码片段)
...二当家的白帽子https://le-yi.blog.csdn.net/博客原创~文章目录1431.拥有最多糖果的孩子:样例1样例2样例3提示分析题解javacc++pythongorust原题传送门 查看详情
贪心整理&一本通1431:钓鱼题解(代码片段)
题目传送 (其实有一个更正经的题解)看了许久,发现这题貌似就是一个动态规划啊,但毕竟是贪心题库里的题,还是想想用贪心解吧。经过(借鉴大佬思路)十分复杂的思考后,终于理解出了这题的贪心思路。该题的难点... 查看详情
leetcode---1431.kidswiththegreatestnumberofcandies解题报告(代码片段)
Thereare n kidswithcandies.Youaregivenanintegerarray candies,whereeach candies[i] representsthenumberofcandiesthe ith kidhas,andaninteger extraCandies,denotingthenumberofextracandiesthatyouhave.Return abooleanarray result oflength n,where&n... 查看详情
中秋节快到了,别学python了,进来排队领块月饼吧纯手工哪种!(代码片段)
...再忙,别忘了吃饼~❤️❤️提前祝大家中秋节快乐❤️一、准备Python3turtle模块勤劳的小手二、构思与绘图找一块传统月饼为例:绘制外表想要画月饼,第一个我们能想到的就是圆形 查看详情
csdn节日快乐,1024程序员节日快乐!
csdn节日快乐,1024程序员节日快乐! 查看详情
世界各国语言的生日快乐怎么写?
中文和英文的就不用了一、法文的生日快乐:BonAnniversaire!! 二、德文的生日快乐:AllesGuteZumGeburtstag! 三、西班牙的生日快乐:iFelizCumpleaRos!四、波兰文生日快乐:WSZYSTKIEGONAJLEPSZEGOOKAZJIURODZIN! 五、斯洛维尼亚的生日快乐:VSENAJB... 查看详情
排队论模型
原文:排队论模型(一)基本概念一、排队过程的一般表示 凡是要求服务的对象称为顾客,凡是为顾客服务的称为服务员二、排队系统的组成和特征 主要由输入过程、排队规则、服务... 查看详情
节点的排队时延与丢包
节点时延中最复杂和有趣的部分是排队时延(d_{queue})。与其他三种时延不同,排队时延对不同的分组是不同的。在表征排队时延时,通常使用统计量测度,比如平均排队时延、排队时延的方差和排队时延超过某些特定值的概率。... 查看详情
排队论(代码片段)
排队论简介历史排队论又称随机服务系统,是研究系统随机聚散现象和随机服务系统工作过程的数学理论和方法,是运筹学的一个分支。排队论的基本思想是1909年丹麦数学家A.K.埃尔朗在解决自动电话设计问题时开始形成的,当... 查看详情
快乐的生活
幸福难寻,快乐可及。快乐的生活应当是什么呢?快乐是一种流畅、喜悦、随心而动的心理感受。 快乐的生活是流畅的,避开拥堵。要做到这一点,有时要做比较精心的日程规划... 查看详情
1024节日快乐
祝福全部的程序猿节日快乐 查看详情
1024节日快乐
祝福全部的程序猿节日快乐 查看详情