Submission #283916

#TimeUsernameProblemLanguageResultExecution timeMemory
283916milleniumEeeeMechanical Doll (IOI18_doll)C++14
0 / 100
2 ms588 KiB
#include "doll.h"
#include <bits/stdc++.h>
using namespace std;

int N, M, S;
vector <int> A, C, X, Y;

struct Solve_Permutaion {
  bool need() {
    vector <int> cnt((int)1e5 + 5, 0);
    bool ok = 1;
    for (int i = 1; i <= N; i++) {
      ok &= (cnt[A[i]] == 0);
      cnt[A[i]]++;
    }
    return ok;
  }
  void solve() {
    for (int i = 1; i <= N; i++) {
      C[A[i - 1]] = A[i];
    }
    C[A[N]] = 0;
  }
}subtask1;

// A - sequance 
// C - edges of triggers
// X/Y - edges of switches

void create_circuit(int MM, vector<int> AA) {
  int M = MM;
  int N = AA.size();
  A.resize(N + 1);
  for (int i = 0; i < N; i++) {
    A[i + 1] = AA[i];
  }
  C.resize(M + 1);
  if (subtask1.need()) {
    subtask1.solve();
  } else {
    assert(false);
  }
  answer(C, X, Y);
}
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...