Submission #1382948


Source Code Expand

#include <bits/stdc++.h>
 
#define pii pair<int, int>
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define ll long long 
#define ld long double
#define sz(v) int(v.size())
#define all(v) v.begin(), v.end()
 
#define y1 what

using namespace std;
 
const int N = (int) 505;
const int M = (int) 2e6 + 10;
const ll big =  (1LL << 51);
const ll LINF = (ll) 1e18;
const int INF = (int) 1e9 + 7;
const double EPS = (double) 1e-6;
const double PI =  3.14159265359;

int n;
int ans[N * N], cnt[N];
pii a[N];

int main() {
    #define fn "balls"
    #ifdef witch
        freopen("input.txt", "r", stdin);
        freopen("output.txt", "w", stdout);
    #else
//        freopen(fn".in", "r", stdin);
//        freopen(fn".out", "w", stdout);
    #endif
    srand(time(0));
    /*
    n = rand() % 10 + 1;
    vector<int> perm;
    for (int i = 1; i <= n; i++) {
        for (int j = 1; j <= n; j++) {
            perm.pb(i);
        }
    }
    random_shuffle(perm.begin(), perm.end());
    cout << n << endl;
    for (auto it : perm) {
        cout << it << " ";
    } cout << "\n";
    */
    cin >> n;   
    for (int i = 1; i <= n; i++) {
    /*
        for (int j = 0, cnt = 0; j < perm.size(); j++) {
            if (perm[j] == i) {
                cnt++;
            }
            if (cnt == i) {
                a[i].f = j + 1;
                break;
            }
        }
        cout << a[i].f << "\n";
    */
        cin >> a[i].f;
        a[i].s = i;
    }
    //cout << "-------------\n";
    memset(ans, -1, sizeof(ans));
    sort(a + 1, a + n + 1);
    for (int i = 1; i <= n; i++) {
        int cnt = a[i].s;
        if (ans[a[i].f] != -1) {
            cout << "No";
            return 0;
        }
        ans[a[i].f] = a[i].s;
        --cnt;
        for (int j = 1; j < a[i].f && cnt > 0; j++) {
            if (ans[j] == -1) {
                ans[j] = a[i].s;
                --cnt;
            }
        }
        if (cnt > 0) {
            cout << "No";
            return 0;
        }
    }
    /*
    for (int i = 1; i <= n * n; i++) {
        cout << ans[i] << " ";
    }
    cout << "\n";
    */
    for (int i = 1; i <= n * n; i++) {
        if (ans[i] == -1) {
            for (int j = 1; j <= n; j++) {
                if (cnt[j] >= j && cnt[j] < n) {
                    ans[i] = j;
                    break;
                }
            }
            if (ans[i] == -1) {
                cout << "No";
                return 0;
            }
        }
        cnt[ans[i]]++;
    }
    cout << "Yes\n";
    for (int i = 1; i <= n * n; i++) {
        cout << ans[i] << " ";
    }
    return 0;
}

Submission Info

Submission Time
Task D - K-th K
User Nurlykhan
Language C++14 (GCC 5.4.1)
Score 800
Code Size 2764 Byte
Status AC
Exec Time 98 ms
Memory 2176 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 800 / 800
Status
AC × 2
AC × 49
Set Name Test Cases
Sample 0_00.txt, 0_01.txt
All 0_00.txt, 0_01.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, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt
Case Name Status Exec Time Memory
0_00.txt AC 2 ms 1280 KB
0_01.txt AC 2 ms 1280 KB
1_00.txt AC 2 ms 1280 KB
1_01.txt AC 52 ms 2176 KB
1_02.txt AC 51 ms 2176 KB
1_03.txt AC 51 ms 2176 KB
1_04.txt AC 51 ms 2176 KB
1_05.txt AC 65 ms 2176 KB
1_06.txt AC 70 ms 2176 KB
1_07.txt AC 71 ms 2176 KB
1_08.txt AC 65 ms 2176 KB
1_09.txt AC 2 ms 1280 KB
1_10.txt AC 16 ms 1280 KB
1_11.txt AC 2 ms 1280 KB
1_12.txt AC 2 ms 1280 KB
1_13.txt AC 29 ms 1280 KB
1_14.txt AC 2 ms 1280 KB
1_15.txt AC 47 ms 1920 KB
1_16.txt AC 4 ms 1280 KB
1_17.txt AC 58 ms 1280 KB
1_18.txt AC 61 ms 2048 KB
1_19.txt AC 91 ms 2048 KB
1_20.txt AC 58 ms 1920 KB
1_21.txt AC 88 ms 2048 KB
1_22.txt AC 76 ms 2048 KB
1_23.txt AC 32 ms 1280 KB
1_24.txt AC 79 ms 2048 KB
1_25.txt AC 56 ms 1920 KB
1_26.txt AC 34 ms 1280 KB
1_27.txt AC 44 ms 1280 KB
1_28.txt AC 3 ms 1280 KB
1_29.txt AC 35 ms 1280 KB
1_30.txt AC 86 ms 2048 KB
1_31.txt AC 98 ms 2176 KB
1_32.txt AC 2 ms 1280 KB
1_33.txt AC 58 ms 2048 KB
1_34.txt AC 2 ms 1280 KB
1_35.txt AC 33 ms 1280 KB
1_36.txt AC 79 ms 2048 KB
1_37.txt AC 83 ms 2048 KB
1_38.txt AC 75 ms 2176 KB
1_39.txt AC 3 ms 1280 KB
1_40.txt AC 25 ms 1536 KB
1_41.txt AC 40 ms 1280 KB
1_42.txt AC 51 ms 1792 KB
1_43.txt AC 56 ms 2048 KB
1_44.txt AC 2 ms 1280 KB
1_45.txt AC 2 ms 1280 KB
1_46.txt AC 5 ms 1280 KB