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;
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值