Submission #246803

#TimeUsernameProblemLanguageResultExecution timeMemory
246803Vladikus004Prosjecni (COCI16_prosjecni)C++14
24 / 120
8 ms896 KiB
#include <bits/stdc++.h>
#define inf 2e9
#define all(v) v.begin(), v.end()
using namespace std;
typedef long long ll;
typedef long double ld;
typedef pair <int, int> pii;

int n;
set <int> ms;

int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    #ifdef LOCAL
        freopen("input.txt", "r", stdin);
    #endif // LOCAL
    cin >> n;
    if (n == 2){
        cout << -1;
        return 0;
    }
    ms.insert(inf);
    if (n & 1){
        int cnt = 1;
        for (int i = 0; i < n; i++){
            for (int j = 0; j < n; j++){
                cout << cnt++ << " ";
            }
            cout << "\n";
        }
    }else{
        int now = 1;
        for (int i = 0; i < n; i++){
            int sum = 0, need = -1;
            for (int j = 0; j < n - 1; j++){
                while (*ms.lower_bound(now) == now) now++;
                cout << now << " ";
                if (j < n - 2)
                    sum += now;
                else need = now;
                ms.insert(now);
                now++;
            }
            cout << need * (n - 1) - sum << "\n";
            ms.insert(need * (n - 1) - sum);
        }
    }
}
#Verdict Execution timeMemoryGrader output
Fetching results...