Submission details
Task:Distinct sums
Sender:Naming is (NP) Hard
Submission time:2025-11-08 13:10:08 +0200
Language:C++ (C++20)
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.00 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.01 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.07 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.07 sdetails
#13ACCEPTED0.00 sdetails

Code

#include <bits/stdc++.h>
using namespace std;

#ifdef LOCAL
#define D(x) {x;}
#else
#define D(x)
#endif
#define rep(i, a, b) for(int i = a; i < (b); ++i)
#define all(x) begin(x),end(x)
#define sz(x) (int) (x).size()
using ll = long long;
using pii = pair<int, int>;
using vi = vector<int>;

int main() {
    cin.tie(0) -> sync_with_stdio(0);
    cin.exceptions(cin.failbit);

    int n;
    cin >> n;

    if (n % 2 == 1) {
        cout << "IMPOSSIBLE" << endl;
        return 0;
    }

    cout << "YES" << endl;
    for (int i = 1; i <= n; ++i) {
        int k = n-i;
        for (int j = 1; j <= k; ++j) cout << 2 << " ";
        if (i > n/2) cout << 1 << " ";
        else cout << 2 << " ";
        for (int j = k+2; j <= n; ++j) cout << 0 << " ";
        cout << endl;
    }
}

Test details

Test 1

Verdict: ACCEPTED

input
1

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 2

Verdict: ACCEPTED

input
2

correct output
YES
0 1 
0 2 

user output
YES
2 2 
1 0 

Test 3

Verdict: ACCEPTED

input
3

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 4

Verdict: ACCEPTED

input
4

correct output
YES
0 1 0 0 
0 2 2 2 
0 2 0 1 
0 2 0 2 

user output
YES
2 2 2 2 
2 2 2 0 
2 1 0 0 
1 0 0 0 

Test 5

Verdict: ACCEPTED

input
5

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 6

Verdict: ACCEPTED

input
657

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 7

Verdict: ACCEPTED

input
132

correct output
YES
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
YES
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

Test 8

Verdict: ACCEPTED

input
765

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 9

Verdict: ACCEPTED

input
838

correct output
YES
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
YES
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

Test 10

Verdict: ACCEPTED

input
996

correct output
YES
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
YES
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

Test 11

Verdict: ACCEPTED

input
997

correct output
IMPOSSIBLE

user output
IMPOSSIBLE

Test 12

Verdict: ACCEPTED

input
998

correct output
YES
0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
YES
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

Test 13

Verdict: ACCEPTED

input
999

correct output
IMPOSSIBLE

user output
IMPOSSIBLE