# | 제출 시각UTC-0 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
697518 | Sandarach151 | Crossing (JOI21_crossing) | C++17 | 1930 ms | 31384 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <bits/stdc++.h>
using namespace std;
struct segtree{
vector<char> curequals;
vector<char> targequals;
vector<bool> equals;
string cur;
string targ;
int size;
segtree(int _size, string _cur, string _targ): cur(_cur), targ(_targ), size(_size){
curequals.resize(4*size+5);
targequals.resize(4*size+5);
equals.resize(4*size+5);
build(0, size-1, 0);
}
void build(int left, int right, int pos){
if(left!=right){
int mid = (left+right)/2;
build(left, mid, 2*pos+1);
build(mid+1, right, 2*pos+2);
if(targequals[2*pos+1]==targequals[2*pos+2]){
targequals[pos]=targequals[2*pos+1];
}
else{
targequals[pos]='0';
}
if(curequals[2*pos+1]==curequals[2*pos+2]){
curequals[pos]=curequals[2*pos+1];
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |