import java.util.Scanner;
public class Main{
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner scan = new Scanner(System.in);
// 第 1 行数据
int N = scan.nextInt(); // N种食物
int M = scan.nextInt(); // M天后
int P = scan.nextInt(); // 第P种食物
Good[] goods = new Good[N];
if(N<=0) {
System.out.println("请输入一个正整数");// 非必要代码段
}else {
// 以下N行数据 第二行N个数Ai
for(int i = 0;i<N;i++) {
int Ai = scan.nextInt();
goods[i] = new Good(Ai);
}
} // 第一个if结束
M_fun[] m_funs = new M_fun[M];
if(M <=0) {
System.out.println("请输入一个正整数");// 非必要代码段
}else {
// 以下m行数据
for(int i = 0;i<M;i++) {
String aob = scan.next();
int id = scan.nextInt();
// 将吃喝买的操作保存在对象中
m_funs[i] = new M_fun(aob,id);
}
}// 第2个if结束
// for(int i = 0;i<M;i++) { // 查看一下保存的操作是否正确
// System.out.println("查看一下操作:"+m_funs[i].AorB +" "+ m_funs[i].good_id);
// }
scan.close(); // 此后无数据的输入,关闭输入流
// 求p种食物的 剩余量 p-1为食物的id,即第几种食物
// System.out.println("求第"+ P+"种食物");
int res_id = P-1;
for(int i = 0;i<M;i++) { //所有的操作M次
// System.out.println("I="+ i);
if(m_funs[i].good_id == P) { // 判断是否为操作对象 如果操作的是所求的食物,才执行if后面的操作
// System.out.println("m_funs[i].good_id"+ m_funs[i].good_id);
String s = m_funs[i].AorB;
// System.out.println("s="+ s);
if(s.equals("A")) { // 如果是吃了
// System.out.println("chi");
goods[res_id].a--; // 那么对应物品的数量减去1
}else{// 如果是买操作
// System.out.println("mai");
goods[res_id].a++;
}
// System.out.println( m_funs[res_id].AorB+ " " + goods[res_id].a);
}
}
System.out.println(goods[res_id].a);
} // public static void main(String[] args) -end
} // public class Main -end
class Good{
int a;
Good(){ // 非必要代码段
System.out.println("无参数,创建失败");
}
Good(int a){
this.a = a;
}
}
class M_fun{ //用来保存操作的类
String AorB;
int good_id;
M_fun(String AorB,int good_id){
this.AorB = AorB;
this.good_id = good_id;
}
}
以上是爱奇艺编程题第2道,可惜当时没有写出来,时间不够了,这是交卷之后自己写出来的,虽部分逻辑是略显繁琐,但整体思路清晰,是可以实现的,用户继续努力,争取在考试规定的时间内完成。