結果
問題 | No.1242 高橋君とすごろく |
ユーザー |
![]() |
提出日時 | 2020-10-02 22:32:45 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 3,108 bytes |
コンパイル時間 | 1,218 ms |
コンパイル使用メモリ | 122,220 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-07-20 02:48:14 |
合計ジャッジ時間 | 2,074 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 24 |
ソースコード
#include <algorithm>#include <bitset>#include <complex>#include <deque>#include <exception>#include <fstream>#include <functional>#include <iomanip>#include <ios>#include <iosfwd>#include <iostream>#include <istream>#include <iterator>#include <limits>#include <list>#include <locale>#include <map>#include <memory>#include <new>#include <numeric>#include <ostream>#include <queue>#include <set>#include <sstream>#include <stack>#include <stdexcept>#include <streambuf>#include <string>#include <typeinfo>#include <utility>#include <valarray>#include <vector>#include <climits>#include <cstring>#include <cassert>using namespace std;//using namespace atcoder;#define REP(i, n) for (int i=0; i<(n); ++i)#define RREP(i, n) for (int i=(int)(n)-1; i>=0; --i)#define FOR(i, a, n) for (int i=(a); i<(n); ++i)#define RFOR(i, a, n) for (int i=(int)(n)-1; i>=(a); --i)#define SZ(x) ((int)(x).size())#define ALL(x) (x).begin(),(x).end()#define DUMP(x) cerr<<#x<<" = "<<(x)<<endl#define DEBUG(x) cerr<<#x<<" = "<<(x)<<" (L"<<__LINE__<<")"<<endl;template<class T>ostream &operator<<(ostream &os, const vector<T> &v) {os << "[";REP(i, SZ(v)) {if (i) os << ", ";os << v[i];}return os << "]";}template<class T, class U>ostream &operator<<(ostream &os, const pair<T, U> &p) {return os << "(" << p.first << " " << p.second << ")";}template<class T>bool chmax(T &a, const T &b) {if (a < b) {a = b;return true;}return false;}template<class T>bool chmin(T &a, const T &b) {if (b < a) {a = b;return true;}return false;}using ll = long long;using ull = unsigned long long;using ld = long double;using P = pair<int, int>;using vi = vector<int>;using vll = vector<ll>;using vvi = vector<vi>;using vvll = vector<vll>;const ll MOD = 1e9 + 7;const int INF = INT_MAX / 2;const ll LINF = LLONG_MAX / 2;const ld eps = 1e-9;// editvoid solve() {ll N, K;cin >> N >> K;vector<ll> A(K);REP(i, K) cin >> A[i];ll COEF = 100;set<ll> st(A.begin(), A.end());for (int i = 0; i < K; ++i) {if (A[i] > COEF) {for (int x = 1; x <= 5; x += 2) {if (st.count(A[i] + x)) {cout << "No" << endl;return;}}}}COEF *= 2;vector<bool> good(COEF + 10, true);for (int i = 0; i < K && A[i] <= COEF; ++i) {good[A[i]] = false;}for (int i = COEF; i >= 0; --i) {if (!good[i]) continue;for (int x = 1; x <= 3; ++x) {int y = 7 - x;if (!good[i + x] && !good[i + y]) {good[i] = false;}}}if (good[1]) {cout << "Yes" << endl;} else {cout << "No" << endl;}}int main() {cin.tie(0);ios::sync_with_stdio(false);cout << fixed << setprecision(10);// std::ifstream in("input.txt");// std::cin.rdbuf(in.rdbuf());solve();return 0;}