#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include "testlib.h" using namespace std; using namespace atcoder; #define rep(i,n,c) for (int i=0;i using vec = vector; template using vvec = vec>; template using vvvec = vec>; using ll = long long; using pii = pair; using pll = pair; template bool chmin(T &a, T b){ if (a>b){ a = b; return true; } return false; } template bool chmax(T &a, T b){ if (a T sum(vec x){ T res=0; for (auto e:x){ res += e; } return res; } template void printv(vec x){ for (auto e:x){ cout< A(N+M+1); for (int i=1;i zero(N+M+1); rep(i,N+M+1,1){ if (A[i]==-1){ zero[i] = 1; } if (i){ zero[i] += zero[i-1]; } } vec last(N+1); rep(i,N+1,1){ last[i] = N-i+1; } fenwick_tree fwp(N+M+1); fenwick_tree fwcnt(N+M+1); for (int i=1;i