Submission #3378672
Source Code Expand
/* ---------- STL Libraries ---------- */ // IO library #include <cstdio> #include <fstream> #include <iomanip> #include <ios> #include <iostream> // algorithm library #include <algorithm> #include <cmath> #include <numeric> #include <random> // container library #include <array> #include <bitset> #include <deque> #include <map> #include <queue> #include <set> #include <string> #include <tuple> #include <vector> /* ---------- Namespace ---------- */ using namespace std; /* ---------- Type Abbreviation ---------- */ template <typename T> using V = vector<T>; template <typename T, typename U> using P = pair<T, U>; template <typename T> using PQ = priority_queue<T>; template <typename T> using GPQ = priority_queue<T, vector<T>, greater<T>>; using ll = long long; #define fst first #define snd second /* ---------- conversion ---------- */ #define INT(c) static_cast<int>(c) #define CHAR(n) static_cast<char>(n) #define LL(n) static_cast<ll>(n) #define DOUBLE(n) static_cast<double>(n) /* ---------- container ---------- */ #define ALL(v) (v).begin(), (v).end() #define SIZE(v) (LL((v).size())) #define FIND(v, k) (v).find(k) != (v).end() #define VFIND(v, k) find(ALL(v), k) != (v).end() #define gsort(b, e) sort(b, e, greater<decltype(*b)>()) #define SORT(v) sort((v).begin(), (v).end()) #define GSORT(v) sort((v).begin(), (v).end(), greater<decltype((v).front())>()) /* ----------- debug ---------- */ template <class T> ostream& operator<<(ostream& os, vector<T> v) { os << "["; for (auto vv : v) os << vv << ","; return os << "]"; } template <class T> ostream& operator<<(ostream& os, set<T> v) { os << "["; for (auto vv : v) os << vv << ","; return os << "]"; } template <class L, class R> ostream& operator<<(ostream& os, pair<L, R> p) { return os << "(" << p.fst << "," << p.snd << ")"; } /* ---------- Constants ---------- */ // const ll MOD = 1e9 + 7; // const int INF = 1 << 25; // const ll INF = 1LL << 50; // const double PI = acos(-1); // const double EPS = 1e-10; // const ll dx[4] = {0, -1, 1, 0}; // const ll dy[4] = {-1, 0, 0, 1}; // mt19937 mt(LL(time(0))); /* ---------- Short Functions ---------- */ template <typename T> T sq(T a) { return a * a; } template <typename T> T gcd(T a, T b) { if (a > b) return gcd(b, a); return a == 0 ? b : gcd(b % a, a); } template <typename T, typename U> T mypow(T b, U n) { if (n == 0) return 1; if (n == 1) return b /* % MOD */; if (n % 2 == 0) { return mypow(b * b /* % MOD */, n / 2); } else { return mypow(b, n - 1) * b /* % MOD */; } } ll pcnt(ll b) { return __builtin_popcountll(b); } /* v-v-v-v-v-v-v-v-v Main Part v-v-v-v-v-v-v-v-v */ int main() { int N; cin >> N; int d[13]; fill(d, d + 13, 0); d[0] = 1; for (int i = 0; i < N; ++i) { int D; cin >> D; ++d[D]; } if (d[0] > 1 || d[12] > 1) { cout << 0 << endl; return 0; } for (int i = 1; i < 12; ++i) { if (d[i] > 2) { cout << 0 << endl; return 0; } } int ans = 0; for (int b = 0; b < (1 << 13); ++b) { set<int> t; for (int i = 0; i < 13; ++i) { if (d[i] == 0) continue; if (d[i] == 2) { t.insert(12 - i); t.insert(12 + i); continue; } if ((b >> i) & 1) { t.insert(12 + i); } else { t.insert(12 - i); } } int s = 30; int pre = *t.rbegin(); for (int now : t) { s = min(s, (now - pre + 24) % 24); pre = now; } ans = max(ans, s); } cout << ans << endl; return 0; }
Submission Info
Submission Time | |
---|---|
Task | C - Time Gap |
User | Tiramister |
Language | C++14 (GCC 5.4.1) |
Score | 500 |
Code Size | 3982 Byte |
Status | AC |
Exec Time | 11 ms |
Memory | 256 KB |
Judge Result
Set Name | sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 500 / 500 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
sample | sample-01.txt, sample-02.txt, sample-03.txt |
All | sample-01.txt, sample-02.txt, sample-03.txt, 01-01.txt, 01-02.txt, 01-03.txt, 01-04.txt, 01-05.txt, 01-06.txt, 01-07.txt, 01-08.txt, 01-09.txt, 01-10.txt, 01-11.txt, 01-12.txt, 01-13.txt, 01-14.txt, 01-15.txt, 01-16.txt, 01-17.txt, 01-18.txt, 01-19.txt, 01-20.txt, 01-21.txt, 01-22.txt, 01-23.txt, 01-24.txt, 01-25.txt, 01-26.txt, 01-27.txt, 01-28.txt, 01-29.txt, 01-30.txt, 01-31.txt, 01-32.txt, 01-33.txt, 01-34.txt, 01-35.txt, 01-36.txt, 01-37.txt, 01-38.txt, 01-39.txt, 01-40.txt, 01-41.txt, 01-42.txt, 01-43.txt, sample-01.txt, sample-02.txt, sample-03.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
01-01.txt | AC | 2 ms | 256 KB |
01-02.txt | AC | 2 ms | 256 KB |
01-03.txt | AC | 3 ms | 256 KB |
01-04.txt | AC | 1 ms | 256 KB |
01-05.txt | AC | 1 ms | 256 KB |
01-06.txt | AC | 1 ms | 256 KB |
01-07.txt | AC | 1 ms | 256 KB |
01-08.txt | AC | 5 ms | 256 KB |
01-09.txt | AC | 1 ms | 256 KB |
01-10.txt | AC | 6 ms | 256 KB |
01-11.txt | AC | 1 ms | 256 KB |
01-12.txt | AC | 1 ms | 256 KB |
01-13.txt | AC | 1 ms | 256 KB |
01-14.txt | AC | 1 ms | 256 KB |
01-15.txt | AC | 1 ms | 256 KB |
01-16.txt | AC | 1 ms | 256 KB |
01-17.txt | AC | 2 ms | 256 KB |
01-18.txt | AC | 2 ms | 256 KB |
01-19.txt | AC | 2 ms | 256 KB |
01-20.txt | AC | 3 ms | 256 KB |
01-21.txt | AC | 3 ms | 256 KB |
01-22.txt | AC | 3 ms | 256 KB |
01-23.txt | AC | 3 ms | 256 KB |
01-24.txt | AC | 3 ms | 256 KB |
01-25.txt | AC | 3 ms | 256 KB |
01-26.txt | AC | 3 ms | 256 KB |
01-27.txt | AC | 4 ms | 256 KB |
01-28.txt | AC | 4 ms | 256 KB |
01-29.txt | AC | 4 ms | 256 KB |
01-30.txt | AC | 4 ms | 256 KB |
01-31.txt | AC | 5 ms | 256 KB |
01-32.txt | AC | 5 ms | 256 KB |
01-33.txt | AC | 5 ms | 256 KB |
01-34.txt | AC | 5 ms | 256 KB |
01-35.txt | AC | 6 ms | 256 KB |
01-36.txt | AC | 6 ms | 256 KB |
01-37.txt | AC | 7 ms | 256 KB |
01-38.txt | AC | 7 ms | 256 KB |
01-39.txt | AC | 11 ms | 256 KB |
01-40.txt | AC | 1 ms | 256 KB |
01-41.txt | AC | 1 ms | 256 KB |
01-42.txt | AC | 1 ms | 256 KB |
01-43.txt | AC | 3 ms | 256 KB |
sample-01.txt | AC | 3 ms | 256 KB |
sample-02.txt | AC | 2 ms | 256 KB |
sample-03.txt | AC | 1 ms | 256 KB |