Submission #1812785


Source Code Expand

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<b;i++)
#define rrep(i,a,b) for(int i=a;i>=b;i--)
#define fore(i,a) for(auto &i:a)
#pragma GCC optimize ("-O3")
using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); }
//---------------------------------------------------------------------------------------------------
/*---------------------------------------------------------------------------------------------------
            ∧_∧  
      ∧_∧  (´<_` )  Welcome to My Coding Space!
     ( ´_ゝ`) /  ⌒i     
    /   \     | |     
    /   / ̄ ̄ ̄ ̄/  |  
  __(__ニつ/     _/ .| .|____  
     \/____/ (u ⊃  
---------------------------------------------------------------------------------------------------*/



int N, D[50];
//---------------------------------------------------------------------------------------------------
int cnt[13], vis[24];
int count() {
    int mi = 101010;
    rep(i, 0, 24) rep(j, 0, 24) if (vis[i] and vis[j] and i != j) {
        int d1 = abs(i - j);
        int d2 = 24 - d1;
        int d = min(d1, d2);
        mi = min(mi, d);
    }
    return mi;
}
//---------------------------------------------------------------------------------------------------
int solve() {
    rep(i, 0, N) cnt[D[i]]++;

    if (cnt[0]) return 0;
    vis[0] = 1;

    vector<int> v;
    rep(i, 1, 12) {
        if (cnt[i] == 1) v.push_back(i);
        else if (cnt[i] == 2) vis[i] = vis[24 - i] = 1;
        else if(2 < cnt[i]) return 0;
    }
    if (cnt[12] == 1) vis[12] = 1;
    else if (2 <= cnt[12]) return 0;

    int M = v.size();
    if (M == 0) {
        return count();
    }

    int ans = 0;
    rep(msk, 0, 1<<M) {
        rep(i, 0, M) {
            if (msk & (1 << i)) vis[v[i]] = 1, vis[24 - v[i]] = 0;
            else vis[v[i]] = 0, vis[24 - v[i]] = 1;
        }
        ans = max(ans, count());
        
    }
    return ans;
}
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N;
    rep(i, 0, N) cin >> D[i];
    cout << solve() << endl;
}

Submission Info

Submission Time
Task C - Time Gap
User hamayanhamayan
Language C++14 (GCC 5.4.1)
Score 500
Code Size 2334 Byte
Status AC
Exec Time 2 ms
Memory 256 KB

Judge Result

Set Name sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 49
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 1 ms 256 KB
01-02.txt AC 1 ms 256 KB
01-03.txt AC 1 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 1 ms 256 KB
01-09.txt AC 1 ms 256 KB
01-10.txt AC 1 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 1 ms 256 KB
01-18.txt AC 1 ms 256 KB
01-19.txt AC 1 ms 256 KB
01-20.txt AC 1 ms 256 KB
01-21.txt AC 1 ms 256 KB
01-22.txt AC 1 ms 256 KB
01-23.txt AC 1 ms 256 KB
01-24.txt AC 1 ms 256 KB
01-25.txt AC 1 ms 256 KB
01-26.txt AC 1 ms 256 KB
01-27.txt AC 1 ms 256 KB
01-28.txt AC 1 ms 256 KB
01-29.txt AC 1 ms 256 KB
01-30.txt AC 1 ms 256 KB
01-31.txt AC 1 ms 256 KB
01-32.txt AC 1 ms 256 KB
01-33.txt AC 1 ms 256 KB
01-34.txt AC 2 ms 256 KB
01-35.txt AC 1 ms 256 KB
01-36.txt AC 1 ms 256 KB
01-37.txt AC 1 ms 256 KB
01-38.txt AC 1 ms 256 KB
01-39.txt AC 1 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 1 ms 256 KB
sample-01.txt AC 1 ms 256 KB
sample-02.txt AC 1 ms 256 KB
sample-03.txt AC 1 ms 256 KB