Codeforces Round #766 DIV2 E問題 - Not Escaping

Source

Codeforces Round #766 DIV2 E問題 (2000pt)
Problem description

問題概要

省略

解法

省略

cLay(version 20211231-1)のコード

C++に変換後のコードはこちら

//no-unlocked
int N, M, K; ll X[1d5]; int A[], B[], C[], D[]; ll H[], dw[];
int sz[], *p[]; ll *dp[]; int *ind[]; ll res;
REP(rd_int()){
  rd(N,M,K,X(N),(A--,B--,C--,D--,H)(K));
  rep(i,N) sz[i] = 0;
  rep(i,K) sz[@[A,C][i]]++;
  rep(i,N) walloc1d(&@[p,dp,ind][i], sz[i]);
  rep(i,N) sz[i] = 0;
  rep(i,K) arrInsert(sz[A[i]], sz[A[i]], p[A[i]], B[i], dp[A[i]], ll_inf, ind[A[i]], i);
  rep(i,K) arrInsert(sz[C[i]], sz[C[i]], p[C[i]], D[i], dp[C[i]], ll_inf, ind[C[i]], K+i);
  rep(i,N){
    sortA(sz[i], p[i], dp[i], ind[i]);
    if(i==0) rep(j,sz[i]) dp[i][j] <?= p[i][j] * X[i];
    rep(j,sz[i]) if(ind[i][j] >= K) dp[i][j] <?= dw[ind[i][j]-K] - H[ind[i][j]-K];
    rep(j,1,sz[i]) dp[i][j] <?= dp[i][j-1] + (p[i][j] - p[i][j-1]) * X[i];
    rrep(j,1,sz[i]) dp[i][j-1] <?= dp[i][j] + (p[i][j] - p[i][j-1]) * X[i];
    rep(j,sz[i]) if(ind[i][j] < K) dw[ind[i][j]] = dp[i][j];
  }

  res = ll_inf;
  rep(j,sz[N-1]) res <?= dp[N-1][j] + X[N-1] * abs(M-1 - p[N-1][j]);
  wt(if[res < ll_inf/2, res, "NO ESCAPE"]);
}

Current time: 2024年05月19日00時26分40秒
Last modified: 2022年01月16日03時43分17秒 (by laycrs)
Tags: Competitive_Programming_Incomplete Codeforces CF766 CF_DIV2_E
トップページに戻る

Logged in as: unknown user (not login)

ログイン: