感觉逻辑没有问题,查看了大部分人都是因为求最大值,可以似乎我这个不是因为那个原因失败,我是用栈做的,样例结果也ok,但就是错
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;
int main()
{
int n;
int a[200001];
int k = 0;
scanf("%d", &n);
char c = getchar();
for (int i = 0; i < n; i++)
{
c=getchar();
if (c == '0')
{
c = getchar();
c = getchar();
a[k++] = c - '0';
c = getchar();
}
else if (c == '1')
{
if(k>0)
k--;
c = getchar();
}
else if(c=='2')
{
if (k == 0)
printf("0\n");
else
{
int max = a[0];
for (int j = 0; j < k; j++)
{
if (a[j] > max)
max = a[j];
}
printf("%d\n", max);
}
c = getchar();
}
}
return 0;
}