# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
828581 | Amylopectin | 송신탑 (IOI22_towers) | C++17 | 583 ms | 50208 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "towers.h"
#include <stdio.h>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
const int mxn = 2e6 + 10,mxi = 2e9 + 10;
int n,he[mxn] = {},of,qsu[mxn] = {},sem[mxn] = {},fro[mxn] = {},bac[mxn] = {};
vector<int> se[mxn] = {};
int bui(int cl,int cr,int no)
{
if(cl == cr)
{
sem[no] = he[cl];
return 0;
}
int mid = (cl+cr) / 2;
bui(cl,mid,no*2);
bui(mid+1,cr,no*2+1);
sem[no] = min(sem[no*2],sem[no*2+1]);
return 0;
}
int fii(int cl,int cr,int no,int tl,int tr)
{
if(cl > tr || cr < tl)
{
return mxi;
}
if(cl >= tl && cr <= tr)
{
return sem[no];
}
int mid = (cl+cr) / 2;
return min(fii(cl,mid,no*2,tl,tr),fii(mid+1,cr,no*2+1,tl,tr));
}
void init(int N, std::vector<int> H)
{
int i,j,cn,cm,fn,fm;
n = N;
for(i=0; i<n; i++)
{
he[i] = H[i];
}
of = 0;
bui(0,n-1,1);
return ;
}
int max_towers(int cl, int cr, int d)
{
int i,j,cn,cm,fn,fm,cmi = -1,cma,beh = mxi,cou = 0,be,cva;
if(of== 0)
{
for(i=0; i<n; i++)
{
if(cmi == -1)
{
cmi = he[i];
}
else
{
cmi = min(cmi,he[i]);
}
if(he[i] - cmi >= d && beh - cmi >= d)
{
cou ++;
beh = he[i];
cmi = -1;
qsu[i] ++;
}
else
{
if(he[i] > beh)
{
beh = he[i];
cmi = -1;
}
}
}
if(cmi != -1 && beh - cmi >= d)
{
cou ++;
}
be = -1;
for(i=0; i<n; i++)
{
if(qsu[i] == 1)
{
be = i;
bac[i] = i;
}
else
{
bac[i] = be;
}
}
be = -1;
for(i=n-1; i>=0; i--)
{
if(qsu[i] == 1)
{
be = i;
fro[i] = i;
}
else
{
fro[i] = be;
}
}
for(i=1; i<n; i++)
{
qsu[i] += qsu[i-1];
}
of = 1;
}
cva = qsu[cr];
if(cl > 0)
{
cva -= qsu[cl-1];
}
if(cva == 0)
{
return 1;
}
if(he[fro[cl]] - fii(0,n-1,1,cl,fro[cl]) >= d)
{
cva ++;
}
if(he[bac[cr]] - fii(0,n-1,1,bac[cr],cr) >= d)
{
cva ++;
}
cva --;
if(cva == 0)
{
return 1;
}
return cva;
}
컴파일 시 표준 에러 (stderr) 메시지
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |