省略
省略
C++に変換後のコードはこちら
int N, K, P[2d5];
int up[2d5], mn[2d5], mx[2d5];
{
int res = 0, tmp = 0;
rd(N,K,P(N));
up[0] = 1;
rep(i,1,N) up[i] = if[P[i] > P[i-1], up[i-1] + 1, 1];
slideMin(N, K, P, mn);
slideMax(N, K, P, mx);
rep(i,N-K+1){
res++;
if(up[i+K-1] >= K){
if(tmp) res--;
tmp = 1;
continue;
}
if(i==0) continue;
if(mn[i-1] != P[i-1]) continue;
if(mx[i] != P[i+K-1]) continue;
res--;
}
wt(res);
}
Current time: 2024年03月29日17時56分15秒
Last modified: 2019年09月22日00時26分17秒 (by laycrs)
Tags: Competitive_Programming_Incomplete AtCoder AtCoder_Grand_Contest AGC038 AGC_B
トップページに戻る
Logged in as: unknown user (not login)