ACM黑箱子C++实现

                                                         ACM黑箱子
Description
有一个黑箱子,里面会按升序存储整数,你可以对黑箱子下达下面的指令:
a. ADD n 将n加入黑箱子
b. Get 获得一个数,这个数在黑箱子里的序号(从0开始计数)是Get的出现次数。
黑箱子中最初存了一个数0,现给你一个操作序列,要你输出Get命令时获的那个数。

输入:
每行是一个命令,如果命令是”ADD”,则后面空一格,有一个整数。输入时保证GET命令不会越界

输出:
每行输出一个整数,整数为对应Get获得值。
 
Sample Input
ADD 3
GET
ADD 1
GET
ADD -4
ADD 2
ADD 8
GET
GET
ADD -1000
ADD 2
GET
 
Sample Output
3
3
1
2
2

#include<iostream>
using namespace std;
char com[3];
int a[1000];

 

int main()
{
 int num,sum_add,sum_get;
 a[0]=0;
 num=sum_add=sum_get=0;
 scanf("%s",com);
  while(sum_get<=sum_add+1)
  {
  
    if(com[0]=='A')
    {
   sum_add++;
      scanf("%d",&num);
      int i=sum_add-1;
      while(a[i]>num&&i>=0) { a[i+1]=a[i];i--;}
      a[i+1]=num;
    }
    else
    {
   sum_get++;
   cout<<a[sum_get]<<endl;
    }
    scanf("%s",com);
  }
 return 0;
}

 


 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值