• 1431 快乐排队


    题目来源: CodeForces
    基准时间限制:1 秒 空间限制:131072 KB 分值: 

    有一群人在排队,如果某个人想排到前面去,可以花一元钱给直接站在他前面的人,然后和这个人交换位置。如果自己没有钱了,就不能和前面的人交换。

    但是呢,队列里面的人觉得排他前面的所有人一定要比较有钱的,至少不能比他自己拿的少。否则里面就会有人生气。站在队头的人一定是高兴的。

    现在给出一个队列的初始状态,问能不能调整队列,使得里面的人都高兴。

    样例解释:样例1中,队尾的人可以和前面的人交换,变成9 10。

    Input
    单组测试数据。
    第一行包含一个整数n (1 ≤ n ≤ 200,000),表示队列中的人数。
    第二行包含n个空格分开的整数 ai (0 ≤ ai ≤ 10^9),ai表示队列中第i个人手上拿的钱。编号从队尾开始。
    Output
    对于每一组数据如果能够使得所有人高兴输出Happy,否则输出Sad。
    Input示例
    2
    11 8
    2
    9 8
    Output示例
    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 }

    代码库

  • 相关阅读:
    Hbase性能调优(一)
    文章标题
    JDBC的PreparedStatement启动事务使用批处理executeBatch()
    java.lang.OutOfMemoryError: PermGen space及其解决方法
    linux 关机命令总结
    oracle 启动关闭以及监听启动关闭命令
    bash: sqlplus: command not found 解决方法
    VMware 虚拟机 linux执行 ifconfig 命令 eth0没有IP地址(intet addr、Bcast、Mask) UP BROADCAST MULTICAST 问题
    Linux的文本编辑和文本内容查看命令
    RHEL6服务器网络配置 修改linux RHEL6系统下的ip方法
  • 原文地址:https://www.cnblogs.com/zzuli2sjy/p/5994738.html
Copyright © 2020-2023  润新知