提出 #34045150


ソースコード 拡げる

/** @file
 * @ingroup


 */
#include <bits/stdc++.h>
using namespace std;
template <typename T> inline void O(const T &x) { cout << x << '\n'; }
template <typename T, typename... W> inline void O(const T &x, const W &...b) {
  cout << x << ' ';
  O(b...);
}
template <typename T> inline void rd(T &x) { cin >> x; }
template <typename T, typename... W> inline void rd(T &x, W &...b) {
  cin >> x;
  rd(b...);
}
#ifndef MISAKA
#define err(...)
#else
#define err(...) fprintf(stderr, __VA_ARGS__)
#endif
typedef long long i64;
typedef unsigned long long u64;
typedef unsigned u32;
typedef long double dbl;
typedef pair<int, int> pii;
typedef uniform_int_distribution<int> r32;
typedef uniform_int_distribution<i64> r64;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());
#define shuf(L, R) shuffle((L), (R), rng)
#define fi first
#define se second
#define pb push_back
#define eb emplace_back
#define FOR(i, j, k) for (int i = (j); i <= (k); ++i)
#define ROF(i, j, k) for (int i = (k); i >= (j); --i)
template <typename T> inline void ckmin(T &a, const T &b) { a = min(a, b); }
template <typename T> inline void ckmax(T &a, const T &b) { a = max(a, b); }
//#define IOFILE "filename"
//#define MULTI
const int N = 2e5+5;
int n;
int p[N];
vector<int> ans;
inline void op(int x) {
  swap(p[x], p[x+1]);
  ans.pb(x);
}

inline void sol() {
  rd(n);
  FOR(i,1,n<<1) rd(p[i]);
  if (p[1] > p[2]) op(1);
  FOR(i,2,n) {
    int a = p[i*2-3], b = p[i*2-2], c = p[i*2-1], d = p[i*2];
    if (c > b) {
      if (d > b) op(i*2-2);
      else op(i*2-1);
    } else if (c > d) op(i*2-1);
  }
  O(ans.size());
  for (auto u : ans) cout << u << " ";
  cout << '\n';
}

int main() {
#ifndef MISAKA
#ifdef IOFILE
  freopen(IOFILE ".in", "r", stdin);
  freopen(IOFILE ".out", "w", stdout);
#endif
  ios::sync_with_stdio(0);
  cin.tie(0);
#endif
#ifdef MULTI
  int T = 0;
  cin >> T;
  while (T--)
#endif
    sol();
  return 0;
}

提出情報

提出日時
問題 A - Make it Zigzag
ユーザ misaka18931
言語 C++ (GCC 9.2.1)
得点 400
コード長 2013 Byte
結果 AC
実行時間 34 ms
メモリ 4652 KiB

コンパイルエラー

./Main.cpp: In function ‘void sol()’:
./Main.cpp:56:9: warning: unused variable ‘a’ [-Wunused-variable]
   56 |     int a = p[i*2-3], b = p[i*2-2], c = p[i*2-1], d = p[i*2];
      |         ^

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 400 / 400
結果
AC × 2
AC × 23
セット名 テストケース
Sample 00-sample-001.txt, 00-sample-002.txt
All 00-sample-001.txt, 00-sample-002.txt, 01-001.txt, 01-002.txt, 01-003.txt, 01-004.txt, 01-005.txt, 01-006.txt, 01-007.txt, 01-008.txt, 01-009.txt, 01-010.txt, 01-011.txt, 01-012.txt, 01-013.txt, 01-014.txt, 01-015.txt, 01-016.txt, 01-017.txt, 01-018.txt, 01-019.txt, 01-020.txt, 01-021.txt
ケース名 結果 実行時間 メモリ
00-sample-001.txt AC 15 ms 3548 KiB
00-sample-002.txt AC 2 ms 3564 KiB
01-001.txt AC 2 ms 3516 KiB
01-002.txt AC 2 ms 3548 KiB
01-003.txt AC 2 ms 3652 KiB
01-004.txt AC 3 ms 3596 KiB
01-005.txt AC 2 ms 3628 KiB
01-006.txt AC 2 ms 3548 KiB
01-007.txt AC 24 ms 4348 KiB
01-008.txt AC 13 ms 3976 KiB
01-009.txt AC 25 ms 4484 KiB
01-010.txt AC 9 ms 3676 KiB
01-011.txt AC 29 ms 4232 KiB
01-012.txt AC 30 ms 4500 KiB
01-013.txt AC 32 ms 4512 KiB
01-014.txt AC 32 ms 4632 KiB
01-015.txt AC 32 ms 4568 KiB
01-016.txt AC 30 ms 4520 KiB
01-017.txt AC 34 ms 4620 KiB
01-018.txt AC 29 ms 4652 KiB
01-019.txt AC 29 ms 4648 KiB
01-020.txt AC 18 ms 4320 KiB
01-021.txt AC 31 ms 4616 KiB