Submission #7522257


Source Code Expand

Copy
//
// Created by Tetsuya Shiota on 2019-04-13.
//

#include <algorithm>
#include <bitset>
#include <cstdio>
#include <cassert>
#include <cstdlib>
#include <iomanip>
#include <iostream>
#include <map>
#include <numeric>
#include <queue>
#include <set>
#include <sstream>
#include <stack>
#include <string>
#include <unordered_map>
#include <unordered_set>
#include <vector>

#define REP(i, b, n) for (Int i = b; i < Int(n); i++)
#define rep(i, n) REP(i, 0, n)
#define FOR(e, o) for (auto &&e : o)
#ifdef LOCAL
#define pp(x) cerr << __LINE__ << ' ' << #x << " = " << (x) << endl
#define dump(x)                                                                \
  cerr << __LINE__ << ' ' << #x << " : ";                                      \
  FOR(e, x) cerr << e << ' ';                                                  \
  cerr << endl;
#else
#define pp(x)
#define dump(x)
#endif

using namespace std;

using Int = long long;
using vi = vector<Int>;
using vvi = vector<vi>;
using pii = pair<Int, Int>;

const Int dy[] = {-1, 0, 1, 0};
const Int dx[] = {0, 1, 0, -1};

template <typename T> void reverse(vector<T> &v) {
  reverse(v.begin(), v.end());
}
template <typename T> void sort(vector<T> &v) { sort(v.begin(), v.end()); }
template <typename T> void rsort(vector<T> &v) { sort(v.rbegin(), v.rend()); }
template <typename T> T sum(const vector<T> &v) {
  return accumulate(v.begin(), v.end(), T(0));
}
template <class T> void update_max(T &a, const T &b) { a = max(a, b); }
template <class T> void update_min(T &a, const T &b) { a = min(a, b); }
vector<pair<char, Int>> merge_cont_char(const string &s) {
  vector<pair<char, Int>> ret;
  if (s.empty())
    return ret;
  ret.push_back(make_pair(s[0], 0));
  FOR(c, s) {
    if (ret.back().first == c)
      ret.back().second++;
    else
      ret.push_back(make_pair(c, 1));
  }
  return ret;
}

class Shakutori {
public:
  // 全体の範囲
  // [0, end)
  // 注目している範囲
  // [tail, head)
  Int head, tail, end = 0;
  bool moveHead() {
    if (head == end) {
      return false;
    }
    head++;
    return true;
  }
  void moveTail() { tail++; }
  bool valid() {
    if (head == tail)
      return true;
    // [tail, head)
    // が解として適当か検証する
    return true;
  }
  void solve() {
    head = tail = 0;
    Int ans = 0;
    while (moveHead()) {
      while (!valid()) {
        moveTail();
      }
      // ここで解を更新する
    }
  }
};

class Solver {
public:
  Int N, K, Q;
  vi A, cnt;
  Solver() {}
  void input() {
    cin >> N >> K >> Q;
    A = vi(Q);
    FOR(a, A)cin >> a;
  }
  void solve() {
    cnt = vi(N, K - Q);
    FOR(a, A)cnt[a-1]++;
  }
  void output() {
    FOR(c, cnt){
      if(c > 0){
        cout << "Yes" <<endl;
      }else{
        cout << "No"<<endl;
      }
    }
  }
};

void initilization() {
  struct BoolName : numpunct<char> {
    string t, f;
    BoolName(string t = "Yes", string f = "No") : t(t), f(f) {}
    string do_truename() const { return t; }
    string do_falsename() const { return f; }
  };
  cin.tie(nullptr);
  ios::sync_with_stdio(0);
  cout << fixed << setprecision(15) << boolalpha;
  cout.imbue(locale(cout.getloc(), new BoolName));
}

int main() {
  initilization();
#ifdef LOCAL
  while (1) {
    Solver s;
    s.input();
    if (cin.eof())
      break;
    s.solve();
    s.output();
  }
#else
  Solver s;
  s.input();
  s.solve();
  s.output();
#endif
  return 0;
}

Submission Info

Submission Time
Task C - Attack Survival
User shioshiota
Language C++14 (Clang 3.8.0)
Score 300
Code Size 3590 Byte
Status AC
Exec Time 230 ms
Memory 2176 KB

Judge Result

Set Name Sample Subtask1
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 26
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
Subtask1 sample_01.txt, sample_02.txt, sample_03.txt, sub1_01.txt, sub1_02.txt, sub1_03.txt, sub1_04.txt, sub1_05.txt, sub1_06.txt, sub1_07.txt, sub1_08.txt, sub1_09.txt, sub1_10.txt, sub1_11.txt, sub1_12.txt, sub1_13.txt, sub1_14.txt, sub1_15.txt, sub1_16.txt, sub1_17.txt, sub1_18.txt, sub1_19.txt, sub1_20.txt, sub1_21.txt, sub1_22.txt, sub1_23.txt
Case Name Status Exec Time Memory
sample_01.txt AC 2 ms 384 KB
sample_02.txt AC 1 ms 256 KB
sample_03.txt AC 1 ms 256 KB
sub1_01.txt AC 226 ms 2176 KB
sub1_02.txt AC 201 ms 1792 KB
sub1_03.txt AC 217 ms 2048 KB
sub1_04.txt AC 180 ms 1664 KB
sub1_05.txt AC 159 ms 1408 KB
sub1_06.txt AC 201 ms 1920 KB
sub1_07.txt AC 196 ms 1920 KB
sub1_08.txt AC 167 ms 1536 KB
sub1_09.txt AC 212 ms 1920 KB
sub1_10.txt AC 200 ms 1792 KB
sub1_11.txt AC 218 ms 2048 KB
sub1_12.txt AC 230 ms 2176 KB
sub1_13.txt AC 153 ms 1280 KB
sub1_14.txt AC 180 ms 1664 KB
sub1_15.txt AC 228 ms 2176 KB
sub1_16.txt AC 226 ms 2176 KB
sub1_17.txt AC 83 ms 1152 KB
sub1_18.txt AC 170 ms 1408 KB
sub1_19.txt AC 82 ms 1152 KB
sub1_20.txt AC 162 ms 1408 KB
sub1_21.txt AC 84 ms 1152 KB
sub1_22.txt AC 199 ms 1920 KB
sub1_23.txt AC 3 ms 256 KB