ACM黑箱子C++实现

来源:互联网 发布:panorama mac 编辑:程序博客网 时间:2024/06/10 02:25
                                                         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;
}

 


 

原创粉丝点击