Submission #62863299


Source Code Expand

// 期待外れでいたいだなんて
// いつから願ってしまった?
// 名も知れぬほうがいいなんて
// いつからか願ってしまった

// ココロもネジ巻出して
// 意味を失ってしまった
// 何ひとつも動かせない今日と
// 押しつぶすように広がる

// 澄んだ機械仕掛けの空

#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

// Pragmas
// #pragma GCC optimize("Ofast")
// #pragma GCC optimize("unroll-loops")
// #pragma GCC target("sse,sse2,sse3,ssse3,sse4,popcnt,abm,mmx,avx,tune=native")

// Namespaces
using namespace std;
using namespace __gnu_pbds;

// Data types
using si  = short int;
using ll  = long long;
using ull = unsigned long long;
using lll = __int128;
using ld  = long double;

// Pairs
using pii  = pair<int, int>;
using psi  = pair<si, si>;
using pll  = pair<ll, ll>;
using plll = pair<lll, lll>;
using pld  = pair<ld, ld>;
#define fi first
#define se second

// PBDS
template<typename Z>
using ordered_set = tree<Z, null_type, less<Z>, rb_tree_tag, tree_order_statistics_node_update>;

// Various outputs and debug
template<typename Z, typename = void> struct is_iterable : false_type {};
template<typename Z> struct is_iterable<Z, void_t<decltype(begin(declval<Z>())),decltype(end(declval<Z>()))>> : true_type {};
template<typename Z> typename enable_if<is_iterable<Z>::value&&!is_same<Z, string>::value,ostream&>::type operator<<(ostream &os, const Z &v);

template<typename Y, typename Z> ostream& operator<<(ostream &os, const pair<Y, Z> &p) {
    return os << "(" << p.fi << ", " << p.se << ")";
}
template<class TupType, size_t... I> void printTuple(ostream& os, const TupType& _tup, index_sequence<I...>) {
    os << "(";
    (..., (os << (I == 0? "" : ", ") << get<I>(_tup)));
    os << ")";
}
template<class... Z> ostream& operator<<(ostream& os, const tuple<Z...>& _tup) {
    printTuple(os, _tup, make_index_sequence<sizeof...(Z)>());
    return os;
}
template<typename Z> typename enable_if<is_iterable<Z>::value&&!is_same<Z, string>::value,ostream&>::type operator<<(ostream &os, const Z &v) {
    os << "["; 
    for (auto it = v.begin(); it != v.end();) { os << *it; if (++it != v.end()) os << ", "; }
    return os << "]";
}

#define debug(...)    logger(cout, #__VA_ARGS__, __VA_ARGS__)
#define debugV(v, x)  vlogger(cout, #v, x, v[x]);
#define rrebug(...)   logger(cerr, #__VA_ARGS__, __VA_ARGS__)
#define rrebugV(v, x) vlogger(cerr, #v, x, v[x]);
template <typename... Args>
void logger(ostream& os, string vars, Args &&...values) {
    os << vars << " = "; string delim = "";
    (..., (os << delim << values, delim = ", "));
    os << "\n";
}
template<class Y, class Z>
void vlogger(ostream& os, string var, Y idx, Z val) {
    os << var << "[" << idx << "] = " << val << "\n";
}

// Various macros
#define All(x)            x.begin(), x.end()
#define Sort(x)           sort(All(x))
#define Reverse(x)        reverse(All(x))
#define Uniqueify(x)      Sort(x); x.erase(unique(All(x)), x.end())
#define RandomSeed        chrono::steady_clock::now().time_since_epoch().count()
#define MultipleTestcases int _tc; cin >> _tc; for (int _cur_tc = 1; _cur_tc <= _tc; _cur_tc++)

// Chmin & chmax
template<typename Z> bool chmin(Z &a, Z b) { return (b < a) ? a = b, true : false; }
template<typename Z> bool chmax(Z &a, Z b) { return (b > a) ? a = b, true : false; }
 
// Modular arithmetic
template<int MOD>
class ModInt {
  public:
    int v;
    ModInt() : v(0) {}
    ModInt(long long _v) {
        v = int((-MOD < _v && _v < MOD) ? (_v) : (_v % MOD));
        if (v < 0) v += MOD;
    }
 
    friend bool operator==(const ModInt &a, const ModInt &b) { return a.v == b.v; }
    friend bool operator!=(const ModInt &a, const ModInt &b) { return a.v != b.v; }
    friend bool operator< (const ModInt &a, const ModInt &b) { return a.v <  b.v; }
    friend bool operator<=(const ModInt &a, const ModInt &b) { return a.v <= b.v; }
    friend bool operator> (const ModInt &a, const ModInt &b) { return a.v >  b.v; }
    friend bool operator>=(const ModInt &a, const ModInt &b) { return a.v >= b.v; }
 
    ModInt &operator+=(const ModInt &a) { v = (long long)(v + a.v) % MOD; return *this; }
    ModInt &operator-=(const ModInt &a) { v = (long long)(v - a.v + MOD) % MOD; return *this; }
    ModInt &operator*=(const ModInt &a) { v = 1ll * v * a.v % MOD; return *this; }
    ModInt &operator/=(const ModInt &a) { return (*this) *= inverse(a); }
 
    friend ModInt pow(ModInt a, long long x) {
        ModInt res = 1;
        for (; x; x /= 2, a *= a) if (x & 1) res *= a;
        return res;
    }
    friend ModInt inverse(ModInt a) { return pow(a, MOD - 2); }
 
    ModInt operator+ () const { return ModInt( v); }
    ModInt operator- () const { return ModInt(-v); }
    ModInt operator++() const { return *this += 1; }
    ModInt operator--() const { return *this -= 1; }
 
    friend ModInt operator+(ModInt a, const ModInt &b) { return a += b; }
    friend ModInt operator-(ModInt a, const ModInt &b) { return a -= b; }
    friend ModInt operator*(ModInt a, const ModInt &b) { return a *= b; }
    friend ModInt operator/(ModInt a, const ModInt &b) { return a /= b; }
 
    friend istream &operator>>(istream &is, ModInt &v) { return is >> v.v; }
    friend ostream &operator<<(ostream &os, const ModInt &v) { return os << v.v; }
};
const int ModA = 998244353;
const int ModC = 1e9 + 7;
using MintA    = ModInt<ModA>;
using MintC    = ModInt<ModC>;

// Other constants
const ll INF  = 1e18;
const ll iINF = 1e9;
const ld EPS  = 1e-9;
const ld iEPS = 1e-6;

const int maxN  = 400'023;

int N, A[maxN];

int main() {
    ios_base::sync_with_stdio(false); cin.tie(NULL);
    
    cin >> N;
    for (int i = 1; i <= N; i++) {
        cin >> A[i];
    }

    bool has[2] = {};
    for (int i = 1; i <= N; i++) if (A[i] == 1) has[i & 1] = true;

    if ((N % 4) == 0) cout << "Yes\n";
    else if (N & 1) cout << ((has[0] || has[1]) ? "Yes" : "No") << "\n";
    else cout << ((has[0] && has[1]) ? "Yes" : "No") << "\n";
}

// dibisakan

Submission Info

Submission Time
Task A - ARC Arc
User Zanite
Language C++ 20 (gcc 12.2)
Score 400
Code Size 6262 Byte
Status AC
Exec Time 9 ms
Memory 4340 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 73
Set Name Test Cases
Sample 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt
All 00-sample-001.txt, 00-sample-002.txt, 00-sample-003.txt, 01-random-001.txt, 01-random-002.txt, 01-random-003.txt, 01-random-004.txt, 01-random-005.txt, 01-random-006.txt, 01-random-007.txt, 01-random-008.txt, 02-large-001.txt, 02-large-002.txt, 02-large-003.txt, 02-large-004.txt, 02-large-005.txt, 02-large-006.txt, 02-large-007.txt, 02-large-008.txt, 03-small-001.txt, 03-small-002.txt, 03-small-003.txt, 03-small-004.txt, 03-small-005.txt, 03-small-006.txt, 03-small-007.txt, 03-small-008.txt, 04-least-001.txt, 04-least-002.txt, 04-least-003.txt, 04-least-004.txt, 04-least-005.txt, 04-least-006.txt, 04-least-007.txt, 04-least-008.txt, 04-least-009.txt, 04-least-010.txt, 04-least-011.txt, 04-least-012.txt, 04-least-013.txt, 04-least-014.txt, 04-least-015.txt, 04-least-016.txt, 05-out-001.txt, 05-out-002.txt, 05-out-003.txt, 05-out-004.txt, 05-out-005.txt, 05-out-006.txt, 05-out-007.txt, 05-out-008.txt, 05-out-009.txt, 05-out-010.txt, 05-out-011.txt, 05-out-012.txt, 05-out-013.txt, 05-out-014.txt, 05-out-015.txt, 05-out-016.txt, 05-out-017.txt, 05-out-018.txt, 05-out-019.txt, 05-out-020.txt, 05-out-021.txt, 05-out-022.txt, 05-out-023.txt, 05-out-024.txt, 05-out-025.txt, 05-out-026.txt, 05-out-027.txt, 05-out-028.txt, 05-out-029.txt, 05-out-030.txt
Case Name Status Exec Time Memory
00-sample-001.txt AC 1 ms 3336 KiB
00-sample-002.txt AC 1 ms 3556 KiB
00-sample-003.txt AC 1 ms 3328 KiB
01-random-001.txt AC 4 ms 3712 KiB
01-random-002.txt AC 2 ms 3720 KiB
01-random-003.txt AC 4 ms 3668 KiB
01-random-004.txt AC 3 ms 3676 KiB
01-random-005.txt AC 6 ms 3728 KiB
01-random-006.txt AC 5 ms 3952 KiB
01-random-007.txt AC 6 ms 3996 KiB
01-random-008.txt AC 4 ms 3708 KiB
02-large-001.txt AC 7 ms 4172 KiB
02-large-002.txt AC 7 ms 4228 KiB
02-large-003.txt AC 7 ms 4116 KiB
02-large-004.txt AC 7 ms 4140 KiB
02-large-005.txt AC 8 ms 4224 KiB
02-large-006.txt AC 9 ms 4228 KiB
02-large-007.txt AC 8 ms 4260 KiB
02-large-008.txt AC 8 ms 4088 KiB
03-small-001.txt AC 1 ms 3308 KiB
03-small-002.txt AC 1 ms 3340 KiB
03-small-003.txt AC 1 ms 3344 KiB
03-small-004.txt AC 1 ms 3408 KiB
03-small-005.txt AC 1 ms 3328 KiB
03-small-006.txt AC 1 ms 3504 KiB
03-small-007.txt AC 1 ms 3444 KiB
03-small-008.txt AC 1 ms 3440 KiB
04-least-001.txt AC 7 ms 4120 KiB
04-least-002.txt AC 7 ms 4336 KiB
04-least-003.txt AC 7 ms 4112 KiB
04-least-004.txt AC 7 ms 4184 KiB
04-least-005.txt AC 7 ms 4216 KiB
04-least-006.txt AC 7 ms 4084 KiB
04-least-007.txt AC 7 ms 4208 KiB
04-least-008.txt AC 7 ms 4112 KiB
04-least-009.txt AC 7 ms 4224 KiB
04-least-010.txt AC 7 ms 4088 KiB
04-least-011.txt AC 7 ms 4180 KiB
04-least-012.txt AC 7 ms 4224 KiB
04-least-013.txt AC 7 ms 4220 KiB
04-least-014.txt AC 7 ms 4112 KiB
04-least-015.txt AC 7 ms 4292 KiB
04-least-016.txt AC 7 ms 4112 KiB
05-out-001.txt AC 8 ms 4252 KiB
05-out-002.txt AC 7 ms 4112 KiB
05-out-003.txt AC 7 ms 4120 KiB
05-out-004.txt AC 7 ms 4168 KiB
05-out-005.txt AC 8 ms 4292 KiB
05-out-006.txt AC 7 ms 4340 KiB
05-out-007.txt AC 7 ms 4228 KiB
05-out-008.txt AC 8 ms 4172 KiB
05-out-009.txt AC 7 ms 4092 KiB
05-out-010.txt AC 7 ms 4216 KiB
05-out-011.txt AC 8 ms 4248 KiB
05-out-012.txt AC 7 ms 4092 KiB
05-out-013.txt AC 7 ms 4168 KiB
05-out-014.txt AC 7 ms 4228 KiB
05-out-015.txt AC 7 ms 4180 KiB
05-out-016.txt AC 7 ms 4092 KiB
05-out-017.txt AC 7 ms 4224 KiB
05-out-018.txt AC 7 ms 4228 KiB
05-out-019.txt AC 7 ms 4120 KiB
05-out-020.txt AC 7 ms 4336 KiB
05-out-021.txt AC 7 ms 4248 KiB
05-out-022.txt AC 7 ms 4088 KiB
05-out-023.txt AC 7 ms 4220 KiB
05-out-024.txt AC 7 ms 4096 KiB
05-out-025.txt AC 1 ms 3512 KiB
05-out-026.txt AC 1 ms 3316 KiB
05-out-027.txt AC 1 ms 3328 KiB
05-out-028.txt AC 1 ms 3284 KiB
05-out-029.txt AC 1 ms 3348 KiB
05-out-030.txt AC 2 ms 3404 KiB