답안 #1026991

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
1026991 2024-07-18T16:59:53 Z mindiyak 자동 인형 (IOI18_doll) C++14
16 / 100
50 ms 12868 KB
#include "doll.h"
#pragma GCC optimize("O1,O2,O3,Ofast,unroll-loops")
#include <bits/stdc++.h>
#include <string>
#include <iostream>
#include <cmath>
#include <numeric>
using namespace std;
typedef long long ll;
typedef unsigned long long ull;
typedef long double ld;
typedef pair<int, int> pi;
typedef pair<int, int> pl;
typedef pair<ld, ld> pd;
typedef vector<int> vi;
typedef vector<bool> vb;
typedef vector<vector<int>> vvi;
typedef vector<ld> vd;
typedef vector<ll> vl;
typedef vector<pi> vpi;
typedef vector<pl> vpl;
#define FOR(i, a, b) for (int i = a; i < (b); i++)
#define F0R(i, a) for (int i = 0; i < (a); i++)
#define FORd(i, a, b) for (int i = (b)-1; i >= a; i--)
#define F0Rd(i, a) for (int i = (a)-1; i >= 0; i--)
#define trav(a, x) for (auto &a : x)
#define uid(a, b) uniform_int_distribution<int>(a, b)(rng)
#define len(x) (int)(x).size()
#define mp make_pair
#define pb push_back
#define F first
#define nl endl
#define S second
#define lb lower_bound
#define ub upper_bound
#define aint(x) x.begin(), x.end()
#define raint(x) x.rbegin(), x.rend()
#define ins insert
const int MOD = 1000000007;

int N,M;

void create_circuit(int m, vi A) {
  A.pb(0);
  N = A.size();M=m;
  vi C(M + 1,0),X,Y;

  vvi counters(M+1,vi());
  FOR(i,0,N-1){
    counters[A[i]].pb(A[i+1]);
  }

  // FOR(i,0,M+1){
  //   cout << i << " {";
  //   for(int j:counters[i])cout<<j << " ,";
  //   cout<<"}"<<endl;
  // }

  FOR(i,0,M+1){
    if(counters[i].size() == 1){
      C[i] = counters[i][0];
    }else if(counters[i].size() == 2){
      X.pb(counters[i][0]);
      Y.pb(counters[i][1]);
      C[i] = X.size()*-1;
    }else if(counters[i].size() == 3){
      int k = -X.size();
      C[i] = k-1;
      X.pb(k-2);
      Y.pb(k-3);
      X.pb(counters[i][0]);
      Y.pb(k-1);
      X.pb(counters[i][1]);
      Y.pb(counters[i][2]);
    }else if(counters[i].size() == 4){
      int k = -X.size();
      C[i] = k-1;
      X.pb(k-2);
      Y.pb(k-3);
      X.pb(counters[i][0]);
      Y.pb(counters[i][2]);
      X.pb(counters[i][1]);
      Y.pb(counters[i][3]);
    }
  }
  C[0] = A[0];

  // FOR(i,0,M+1)cout << C[i] << " ";
  // cout << endl;
  // FOR(i,0,X.size())cout << X[i] << " " << Y[i] << endl;

  answer(C, X, Y);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 19 ms 7000 KB Output is correct
3 Correct 14 ms 5720 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 6 ms 3932 KB Output is correct
6 Correct 21 ms 8372 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 19 ms 7000 KB Output is correct
3 Correct 14 ms 5720 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 6 ms 3932 KB Output is correct
6 Correct 21 ms 8372 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 27 ms 8280 KB Output is correct
9 Correct 29 ms 9652 KB Output is correct
10 Correct 42 ms 12868 KB Output is correct
11 Correct 0 ms 432 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 19 ms 7000 KB Output is correct
3 Correct 14 ms 5720 KB Output is correct
4 Correct 0 ms 344 KB Output is correct
5 Correct 6 ms 3932 KB Output is correct
6 Correct 21 ms 8372 KB Output is correct
7 Correct 0 ms 348 KB Output is correct
8 Correct 27 ms 8280 KB Output is correct
9 Correct 29 ms 9652 KB Output is correct
10 Correct 42 ms 12868 KB Output is correct
11 Correct 0 ms 432 KB Output is correct
12 Correct 0 ms 348 KB Output is correct
13 Correct 0 ms 348 KB Output is correct
14 Correct 50 ms 12356 KB Output is correct
15 Correct 27 ms 6996 KB Output is correct
16 Correct 49 ms 10316 KB Output is correct
17 Correct 0 ms 344 KB Output is correct
18 Correct 0 ms 344 KB Output is correct
19 Correct 0 ms 348 KB Output is correct
20 Correct 46 ms 12212 KB Output is correct
21 Correct 0 ms 344 KB Output is correct
22 Correct 0 ms 344 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 344 KB wrong motion
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB wrong motion
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB wrong motion
2 Halted 0 ms 0 KB -