Submission #44694350
Source Code Expand
#include <bits/stdc++.h>
using namespace std;
#define x first
#define y second
#define mp(x, y) make_pair(x, y)
#define fro(i, x, y) for(int i = (x);i <= (y);i++)
#define pre(i, x, y) for(int i = (x);i >= (y);i--)
typedef long long ll;
typedef __int128 lll;
typedef unsigned int uint;
typedef pair<int, int> PII;
typedef unsigned long long ull;
const int N = 1000010;
const int mod = 998244353;
int n, m, a[N], ton[N];
signed main()
{
ios::sync_with_stdio(0), cin.tie(0);
cin >> n;
fro(i, 1, n) cin >> a[i];
sort(a + 1, a + n + 1);
fro(i, 1, n) ton[a[i]]++;
int t = a[n];
fro(i, 1, (t - 1) / 2)
if(ton[i]) cout << "Impossible\n", exit(0);
if(t % 2 == 0 && ton[t / 2] != 1)
cout << "Impossible\n", exit(0);
if(t % 2 != 0 && ton[t / 2 + 1] != 2)
cout << "Impossible\n", exit(0);
fro(i, (t + 1) / 2 + 1, t)
if(ton[i] < 2) cout << "Impossible\n", exit(0);
cout << "Possible\n";
return 0;
}
Submission Info
| Submission Time | |
|---|---|
| Task | C - Tree Restoring |
| User | win114514 |
| Language | C++ (GCC 9.2.1) |
| Score | 700 |
| Code Size | 1008 Byte |
| Status | AC |
| Exec Time | 6 ms |
| Memory | 3644 KiB |
Judge Result
| Set Name | Sample | All | ||||
|---|---|---|---|---|---|---|
| Score / Max Score | 0 / 0 | 700 / 700 | ||||
| Status |
|
|
| Set Name | Test Cases |
|---|---|
| Sample | example0, example1, example2, example3, example4, example5 |
| All | almostline0, almostline1, almostline2, almostline3, can0, can1, can2, can3, can4, can5, can6, deg0, deg1, deg2, deg3, example0, example1, example2, example3, example4, example5, handmade0, line0, line1, line2, line3, ng10, ng11, ng12, ng13, ng20, ng21, ng22, ng23, plus0, plus1, plus2, plus3, rand0, rand1, rand2, star0, star1, star2, star3 |
| Case Name | Status | Exec Time | Memory |
|---|---|---|---|
| almostline0 | AC | 6 ms | 3584 KiB |
| almostline1 | AC | 2 ms | 3584 KiB |
| almostline2 | AC | 2 ms | 3472 KiB |
| almostline3 | AC | 2 ms | 3528 KiB |
| can0 | AC | 2 ms | 3584 KiB |
| can1 | AC | 2 ms | 3472 KiB |
| can2 | AC | 2 ms | 3448 KiB |
| can3 | AC | 2 ms | 3600 KiB |
| can4 | AC | 2 ms | 3488 KiB |
| can5 | AC | 2 ms | 3532 KiB |
| can6 | AC | 2 ms | 3536 KiB |
| deg0 | AC | 1 ms | 3592 KiB |
| deg1 | AC | 2 ms | 3644 KiB |
| deg2 | AC | 2 ms | 3516 KiB |
| deg3 | AC | 2 ms | 3532 KiB |
| example0 | AC | 2 ms | 3516 KiB |
| example1 | AC | 2 ms | 3472 KiB |
| example2 | AC | 2 ms | 3644 KiB |
| example3 | AC | 3 ms | 3644 KiB |
| example4 | AC | 2 ms | 3484 KiB |
| example5 | AC | 2 ms | 3564 KiB |
| handmade0 | AC | 2 ms | 3488 KiB |
| line0 | AC | 2 ms | 3488 KiB |
| line1 | AC | 2 ms | 3536 KiB |
| line2 | AC | 2 ms | 3488 KiB |
| line3 | AC | 2 ms | 3608 KiB |
| ng10 | AC | 2 ms | 3484 KiB |
| ng11 | AC | 2 ms | 3572 KiB |
| ng12 | AC | 2 ms | 3564 KiB |
| ng13 | AC | 2 ms | 3624 KiB |
| ng20 | AC | 2 ms | 3584 KiB |
| ng21 | AC | 2 ms | 3444 KiB |
| ng22 | AC | 2 ms | 3532 KiB |
| ng23 | AC | 2 ms | 3504 KiB |
| plus0 | AC | 2 ms | 3472 KiB |
| plus1 | AC | 2 ms | 3644 KiB |
| plus2 | AC | 2 ms | 3644 KiB |
| plus3 | AC | 2 ms | 3504 KiB |
| rand0 | AC | 2 ms | 3596 KiB |
| rand1 | AC | 2 ms | 3516 KiB |
| rand2 | AC | 2 ms | 3532 KiB |
| star0 | AC | 2 ms | 3596 KiB |
| star1 | AC | 2 ms | 3596 KiB |
| star2 | AC | 2 ms | 3476 KiB |
| star3 | AC | 2 ms | 3572 KiB |