Submission #1360384


Source Code Expand

#include <iostream>
#include <iomanip>
#include <vector>
#include <algorithm>
#include <numeric>
#include <functional>
#include <cmath>
#include <queue>
#include <stack>
#include <set>
#include <map>
#include <sstream>
#include <string>
#define _repargs(_1,_2,_3,name,...) name
#define _rep(i,n) repi(i,0,n)
#define repi(i,a,b) for(int i=(int)(a);i<(int)(b);++i)
#define rep(...) _repargs(__VA_ARGS__,repi,_rep,)(__VA_ARGS__)
#define all(x) (x).begin(),(x).end()
#define mod 1000000007
#define inf 2000000007
#define mp make_pair
#define pb push_back
typedef long long ll;
using namespace std;
template <typename T>
inline void output(T a, int p = 0) {
    if(p) cout << fixed << setprecision(p)  << a << "\n";
    else cout << a << "\n";
}
// end of template

int main() {
    cin.tie(0);
    ios::sync_with_stdio(0);
    // source code
    int N;
    cin >> N;
    vector<int> A(N);
    rep(i, N) cin >> A[i];
    
    int ma = -inf, mi = inf;
    rep(i, N){
        ma = max(ma, A[i]);
        mi = min(mi, A[i]);
    }
    
    if(ma > mi + 1){
        output("No");
    }
    else if(ma > mi){
        int mi_cnt = 0, ma_cnt = 0;
        rep(i, N){
            if(A[i] == mi) mi_cnt++;
            else ma_cnt++;
        }
        if(mi_cnt <= mi && ma_cnt >= (ma - mi_cnt) * 2){
            output("Yes");
        }
        else{
            output("No");
        }
    }
    else{
        if(N == ma + 1 || N >= ma * 2){
            output("Yes");
        }
        else{
            output("No");
        }
    }
    
    return 0;
}

Submission Info

Submission Time
Task B - Colorful Hats
User ctyl
Language C++14 (GCC 5.4.1)
Score 700
Code Size 1613 Byte
Status AC
Exec Time 9 ms
Memory 640 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 700 / 700
Status
AC × 6
AC × 24
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 0_05.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 0_03.txt, 0_04.txt, 0_05.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt
Case Name Status Exec Time Memory
0_00.txt AC 1 ms 256 KB
0_01.txt AC 1 ms 256 KB
0_02.txt AC 1 ms 256 KB
0_03.txt AC 1 ms 256 KB
0_04.txt AC 1 ms 256 KB
0_05.txt AC 1 ms 256 KB
1_00.txt AC 1 ms 256 KB
1_01.txt AC 1 ms 256 KB
1_02.txt AC 7 ms 640 KB
1_03.txt AC 9 ms 640 KB
1_04.txt AC 9 ms 640 KB
1_05.txt AC 9 ms 640 KB
1_06.txt AC 9 ms 640 KB
1_07.txt AC 9 ms 640 KB
1_08.txt AC 7 ms 640 KB
1_09.txt AC 9 ms 640 KB
1_10.txt AC 7 ms 640 KB
1_11.txt AC 9 ms 640 KB
1_12.txt AC 9 ms 640 KB
1_13.txt AC 9 ms 640 KB
1_14.txt AC 9 ms 640 KB
1_15.txt AC 1 ms 256 KB
1_16.txt AC 1 ms 256 KB
1_17.txt AC 9 ms 640 KB