智算之道初赛第三场---水杯

水杯

小小 D 有一个能显示温度的杯子. 其原理是杯盖上的一个传感器. 只有在杯子内的水的体积大于等于某个数 L 的时候传感器才能显示水温,并且如果水温不在 [A,B]内传感器也无法显示水温.

注意,这里温度对水的体积没有影响

初始水杯为空,有 n 次操作,操作分为三种:

1 x 表示把水温变成 x
2 x 表示把水的体积变成 x
3 查询传感器的显示情况. 如果不能显示水温输出 GG,否则输出水温.
输入格式

第一行四个整数 n,L,A,B,含义如题目所示.

接下来 n 行,每行一个整数 opt 或两个整数 opt,x,表示执行操作 opt.

输出格式

对于所有操作 3 输出结果,每行一个答案.
样例输入

5 2 1 3
1 5
2 3
3
1 2
3
样例输出

GG
2

#include 
//智算之道出赛第三场1题水杯:
int main(){
    int n;
    int A,B,L;
    int opt;
    int i=0;
    int j=0;
    int x=-300,y=0;//水温,体积
    int pri[1000];
    scanf("%d %d %d %d",&n,&L,&A,&B);
    for(i=0;i<n;i++){
        scanf("%d",&opt);
        if(opt==1){
            scanf("%d",&x);
        }
        else if(opt==2){
            scanf("%d",&y);
        }
        else{
            if(x>=A&&x<=B&&y>=L){
                pri[j]=x;
            }
            else {
                pri[j]=-400;
            }
            j++;
        }
    }
    i=0;
    while(i<j){
        if(pri[i]==-400){
            printf("GG");
        }
        else {
            printf("%d",pri[i]);
        }
        printf("\n");
        i++;
    }
    return 0;
}

你可能感兴趣的:(竞赛)