# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
786967 | thimote75 | 디지털 회로 (IOI22_circuit) | C++17 | 3081 ms | 1872 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include "circuit.h"
#include <bits/stdc++.h>
#define num long long
using namespace std;
const int MOD = 1000002022;
using idata = vector<signed>;
using ndata = vector<num>;
ndata C;
ndata Gamma;
idata status;
idata target;
int N, M;
void init(int _N, int _M, idata P, idata A) {
N = _N; M = _M;
C .resize(N);
Gamma.resize(N + 1, 1);
status = A;
target.resize(M);
for (int i = 0; i < M; i ++)
target[i] = P[i + N];
for (int i = 1; i < N + M; i ++) C[P[i]] ++;
for (int i = N - 1; i >= 0; i --) Gamma[i] = (C[i] * Gamma[i + 1]) % MOD;
}
int count_ways(int L, int R) {
L -= N; R -= N;
for (int i = L; i <= R; i ++)
status [i] = 1 - status[i];
idata localC(N);
int size_last = 0;
num res = 0;
for (int i = 0; i < M; i ++) {
if (status[i] == 0) continue ;
localC[target[i]] ++ ;
}
bool canAdd = false;
for (int i = N - 1; i >= 0; i --) {
if (localC[i] == C[i]) {
if (i != 0) localC[i - 1] ++;
continue ;
}
if (canAdd) { res += localC[i] * Gamma[i + 1]; res %= MOD; }
canAdd = true;
}
if (!canAdd) return Gamma[0];
return res;
}
컴파일 시 표준 에러 (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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |