提交记录 8104


用户 题目 状态 得分 用时 内存 语言 代码长度
codesonic 1000. 测测你的 A+B Compile Error 0 0 ns 0 KB C++ 1.97 KB
提交时间 评测时间
2019-01-29 11:05:40 2020-08-01 01:12:34
// aginaginaginaginaginaginaginaginaginagin
#include <cstdio>
#include <algorithm>
#include <cstring>

#define lp (p << 1)
#define rp (p << 1 | 1)
#define mid ((l+r)>>1)
#define lson lp, l, mid
#define rson rp, mid+1, r

typedef long long int64;

const int INF = 0x3f3f3f3f;




// begin cxk
inline int read(){
    int x=0,f=1;char c;
    for(c=getchar();c<'0'||c>'9';f=((c=='-')?-1:f),c=getchar());
    for(;c>='0'&&c<='9';x=x*10+c-'0',c=getchar());
    return x*f;
}
inline void read(int &x) {
	x=read();
}
inline void read(char *s) {
	char ch;
	do ch=getchar(); while(ch<=' ');
	while(ch>' '){
		(*s)=ch;
		s++;
		ch=getchar();
	}
}
inline void write(int64 a){
    if(a==0){putchar('0');return;}
    if(a<0)putchar('-'),a=-a;
    char c1[120];
    int h=0;
    while(a)c1[++h]=a%10+'0',a/=10;
    for(int i=h;i>=1;i--)putchar(c1[i]);
    return;
}
inline void write_(int64 a){write(a);putchar(' ');}
inline void writeln(int64 a){write(a);putchar('\n');}
// end cxk





const int MAXN = 1000000 + 10;
const int P = 1<<20;
//const int MAXN = 1000 + 10;
//const int P = 1<<4;

int n, m, q;
int segl[2][P << 1], segr[2][P << 1];
int res[2][P << 1];
inline void up(bool v, int p) {
	segl[v][p]=std::min(segl[v][lp], segl[v][rp]);
	segr[v][p]=std::max(segr[v][lp], segr[v][rp]);
	res[v][p]=std::max(res[v][lp], res[v][rp]);
	if(segl[v][rp]-segr[v][lp]>0
	and segl[v][rp]^INF and segr[v][lp]) res[v][p]=std::max(res[v][p], segl[v][rp]-segr[v][lp]);
}
inline void ins(bool v, int x) {
	x+=P;
	segl[v][x]=segr[v][x]=x-P;
	for(x>>=1; x; x>>=1)
		up(v, x);
}

char s[50];

int main() {
	freopen("cake.in", "r", stdin);
	freopen("cake.out", "w", stdout);	
	
	int i, x;
	
	memset(segl, 0x3f, sizeof(segl));
	memset(segr, 0, sizeof(segr));
	memset(res, 0, sizeof(res));
	
	scanf("%d %d %d", &n, &m, &q);
	n++;
	m++;
	
	ins(0, 1);
	ins(0, n);
	ins(1, 1);
	ins(1, m);
	for(i=1; i<=q; i++) {
		read(s);
		read(x);
		x++;
		if(s[0]=='V')
			ins(0, x);
		else
			ins(1, x);
		writeln((int64)res[0][1]*res[1][1]);
	}
	return 0;
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-07 09:50:13 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠