제출 #412742

#제출 시각아이디문제언어결과실행 시간메모리
412742KoDLast supper (IOI12_supper)C++17
0 / 100
117 ms5944 KiB
#include <bits/stdc++.h> #include "advisor.h" template <class T> using Vec = std::vector<T>; void ComputeAdvice(int *C, int N, int K, int M) { Vec<int> last(N, -1); for (int i = 0; i < N; ++i) { last[C[i]] = i; } for (int i = 0; i < K; ++i) { WriteAdvice(last[i] == -1); } for (int i = 0; i < N; ++i) { WriteAdvice(last[C[i]] == i); } }
#include <bits/stdc++.h> #include "assistant.h" template <class T> using Vec = std::vector<T>; void Assist(unsigned char *A, int N, int K, int R) { Vec<int> del; std::set<int> has; for (int i = 0; i < K; ++i) { if (A[i]) { del.push_back(i); } has.insert(i); } for (int i = 0; i < N; ++i) { const auto k = GetRequest(); if (has.find(k) == has.end()) { if (!del.empty()) { const auto x = del.back(); del.pop_back(); PutBack(x); has.erase(x); } else { PutBack(*has.begin()); has.erase(has.begin()); } has.insert(k); } if (A[K + i]) { del.push_back(k); } } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...