| Task: | Modern art |
| Sender: | Isak |
| Submission time: | 2025-11-10 17:08:20 +0200 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | ACCEPTED |
| test | verdict | time | |
|---|---|---|---|
| #1 | ACCEPTED | 0.00 s | details |
| #2 | ACCEPTED | 0.00 s | details |
| #3 | ACCEPTED | 0.00 s | details |
| #4 | ACCEPTED | 0.00 s | details |
| #5 | ACCEPTED | 0.00 s | details |
| #6 | ACCEPTED | 0.00 s | details |
| #7 | ACCEPTED | 0.00 s | details |
| #8 | ACCEPTED | 0.00 s | details |
| #9 | ACCEPTED | 0.00 s | details |
| #10 | ACCEPTED | 0.00 s | details |
| #11 | ACCEPTED | 0.00 s | details |
| #12 | ACCEPTED | 0.00 s | details |
| #13 | ACCEPTED | 0.00 s | details |
| #14 | ACCEPTED | 0.00 s | details |
| #15 | ACCEPTED | 0.00 s | details |
| #16 | ACCEPTED | 0.00 s | details |
| #17 | ACCEPTED | 0.00 s | details |
| #18 | ACCEPTED | 0.00 s | details |
| #19 | ACCEPTED | 0.00 s | details |
| #20 | ACCEPTED | 0.00 s | details |
| #21 | ACCEPTED | 0.00 s | details |
| #22 | ACCEPTED | 0.00 s | details |
| #23 | ACCEPTED | 0.00 s | details |
| #24 | ACCEPTED | 0.00 s | details |
| #25 | ACCEPTED | 0.00 s | details |
| #26 | ACCEPTED | 0.00 s | details |
| #27 | ACCEPTED | 0.00 s | details |
| #28 | ACCEPTED | 0.00 s | details |
| #29 | ACCEPTED | 0.00 s | details |
| #30 | ACCEPTED | 0.00 s | details |
| #31 | ACCEPTED | 0.00 s | details |
| #32 | ACCEPTED | 0.00 s | details |
| #33 | ACCEPTED | 0.00 s | details |
| #34 | ACCEPTED | 0.00 s | details |
| #35 | ACCEPTED | 0.00 s | details |
| #36 | ACCEPTED | 0.00 s | details |
| #37 | ACCEPTED | 0.00 s | details |
| #38 | ACCEPTED | 0.00 s | details |
| #39 | ACCEPTED | 0.00 s | details |
| #40 | ACCEPTED | 0.00 s | details |
| #41 | ACCEPTED | 0.00 s | details |
| #42 | ACCEPTED | 0.01 s | details |
| #43 | ACCEPTED | 0.00 s | details |
| #44 | ACCEPTED | 0.00 s | details |
| #45 | ACCEPTED | 0.00 s | details |
| #46 | ACCEPTED | 0.00 s | details |
| #47 | ACCEPTED | 0.00 s | details |
| #48 | ACCEPTED | 0.00 s | details |
| #49 | ACCEPTED | 0.00 s | details |
| #50 | ACCEPTED | 0.01 s | details |
Code
#include <stdint.h>
#include <stdlib.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdbool.h>
#define LOOP(i,s,e) for (int64_t i = (s); i < (e); i++)
#define SCAN(...) if (scanf(__VA_ARGS__) == 0) return EXIT_FAILURE
int main() {
uint64_t A = 0, P = 0;
SCAN("%ld %ld", &A, &P);
if (P%2 == 1){
printf("IMPOSSIBLE\n");
exit(EXIT_SUCCESS);
}
P = P/2;
if (A < P-1){
printf("IMPOSSIBLE\n");
exit(EXIT_SUCCESS);
}
if (A > (P/2)*(P/2 + P%2)){
printf("IMPOSSIBLE\n");
exit(EXIT_SUCCESS);
}
int l = P/2;
int h = P/2+P%2;
// printf("l:%d, h:%d", l, h);
int acc = A - P+1;
printf("POSSIBLE\n");
// 000000
LOOP(i,0,h+2)
printf("0");
// 01111110
printf("\n0");
LOOP(i,0,h)
printf("1");
printf("0\n");
// 01111110
// 01110000
// 01000000
// 01000000
LOOP(i,0,l-1){
printf("0");
printf("1");
LOOP(j, 0, h-1){
if (acc > 0){
printf("1");
acc--;
} else {
printf("0");
}
}
printf("0\n");
}
LOOP(i,0,h+2)
printf("0");
printf("\n");
return EXIT_SUCCESS;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| 5 14 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 2
Verdict: ACCEPTED
| input |
|---|
| 6 14 |
| correct output |
|---|
| POSSIBLE 000 010 010 010 ... |
| user output |
|---|
| POSSIBLE 000000 011110 010000 010000 ... |
Test 3
Verdict: ACCEPTED
| input |
|---|
| 7 10 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 4
Verdict: ACCEPTED
| input |
|---|
| 5 5 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 5
Verdict: ACCEPTED
| input |
|---|
| 6 22 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 6
Verdict: ACCEPTED
| input |
|---|
| 7 10 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 7
Verdict: ACCEPTED
| input |
|---|
| 5 20 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 8
Verdict: ACCEPTED
| input |
|---|
| 6 8 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 9
Verdict: ACCEPTED
| input |
|---|
| 7 4 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 10
Verdict: ACCEPTED
| input |
|---|
| 5 10 |
| correct output |
|---|
| POSSIBLE 0000 0110 0110 0100 ... |
| user output |
|---|
| POSSIBLE 00000 01110 01100 00000 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| 10 25 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 12
Verdict: ACCEPTED
| input |
|---|
| 10 22 |
| correct output |
|---|
| POSSIBLE 000 010 010 010 ... |
| user output |
|---|
| POSSIBLE 00000000 01111110 01000000 01000000 ... |
Test 13
Verdict: ACCEPTED
| input |
|---|
| 10 14 |
| correct output |
|---|
| POSSIBLE 0000 0110 0110 0110 ... |
| user output |
|---|
| POSSIBLE 000000 011110 011110 011000 ... |
Test 14
Verdict: ACCEPTED
| input |
|---|
| 10 6 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 15
Verdict: ACCEPTED
| input |
|---|
| 10 37 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 16
Verdict: ACCEPTED
| input |
|---|
| 10 12 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 17
Verdict: ACCEPTED
| input |
|---|
| 10 39 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 18
Verdict: ACCEPTED
| input |
|---|
| 10 14 |
| correct output |
|---|
| POSSIBLE 0000 0110 0110 0110 ... |
| user output |
|---|
| POSSIBLE 000000 011110 011110 011000 ... |
Test 19
Verdict: ACCEPTED
| input |
|---|
| 10 4 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 20
Verdict: ACCEPTED
| input |
|---|
| 10 16 |
| correct output |
|---|
| POSSIBLE 00000000 01111110 01111000 00000000 |
| user output |
|---|
| POSSIBLE 000000 011110 011110 010000 ... |
Test 21
Verdict: ACCEPTED
| input |
|---|
| 100 239 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 22
Verdict: ACCEPTED
| input |
|---|
| 100 202 |
| correct output |
|---|
| POSSIBLE 000 010 010 010 ... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 23
Verdict: ACCEPTED
| input |
|---|
| 100 70 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 00000000000000000000 01111111111111111110 01111111111111111110 01111111111111111110 ... |
Test 24
Verdict: ACCEPTED
| input |
|---|
| 100 32 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 25
Verdict: ACCEPTED
| input |
|---|
| 100 361 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 26
Verdict: ACCEPTED
| input |
|---|
| 100 48 |
| correct output |
|---|
| POSSIBLE 00000000000000000000 01111111111111111110 01111111111111111110 01111111111111111110 ... |
| user output |
|---|
| POSSIBLE 00000000000000 01111111111110 01111111111110 01111111111110 ... |
Test 27
Verdict: ACCEPTED
| input |
|---|
| 100 380 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 28
Verdict: ACCEPTED
| input |
|---|
| 100 76 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000 011111111111111111110 011111111111111111110 011111111111111111110 ... |
Test 29
Verdict: ACCEPTED
| input |
|---|
| 100 8 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 30
Verdict: ACCEPTED
| input |
|---|
| 100 98 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000 011111111111111111111111110 011111111111111111111111110 011111111111111111111111110 ... |
Test 31
Verdict: ACCEPTED
| input |
|---|
| 200 476 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 32
Verdict: ACCEPTED
| input |
|---|
| 200 402 |
| correct output |
|---|
| POSSIBLE 000 010 010 010 ... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 33
Verdict: ACCEPTED
| input |
|---|
| 200 120 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 34
Verdict: ACCEPTED
| input |
|---|
| 200 60 |
| correct output |
|---|
| POSSIBLE 000000000000 011111111110 011111111110 011111111110 ... |
| user output |
|---|
| POSSIBLE 00000000000000000 01111111111111110 01111111111111110 01111111111111110 ... |
Test 35
Verdict: ACCEPTED
| input |
|---|
| 200 721 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 36
Verdict: ACCEPTED
| input |
|---|
| 200 74 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000 011111111111111111110 011111111111111111110 011111111111111111110 ... |
Test 37
Verdict: ACCEPTED
| input |
|---|
| 200 759 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 38
Verdict: ACCEPTED
| input |
|---|
| 200 134 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 39
Verdict: ACCEPTED
| input |
|---|
| 200 12 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 40
Verdict: ACCEPTED
| input |
|---|
| 200 182 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 41
Verdict: ACCEPTED
| input |
|---|
| 1000 2373 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 42
Verdict: ACCEPTED
| input |
|---|
| 1000 1998 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 43
Verdict: ACCEPTED
| input |
|---|
| 1000 472 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 44
Verdict: ACCEPTED
| input |
|---|
| 1000 286 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 45
Verdict: ACCEPTED
| input |
|---|
| 1000 3603 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 46
Verdict: ACCEPTED
| input |
|---|
| 1000 228 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 47
Verdict: ACCEPTED
| input |
|---|
| 1000 3791 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 48
Verdict: ACCEPTED
| input |
|---|
| 1000 552 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
Test 49
Verdict: ACCEPTED
| input |
|---|
| 1000 48 |
| correct output |
|---|
| IMPOSSIBLE |
| user output |
|---|
| IMPOSSIBLE |
Test 50
Verdict: ACCEPTED
| input |
|---|
| 1000 810 |
| correct output |
|---|
| POSSIBLE 000000000000000000000000000000... |
| user output |
|---|
| POSSIBLE 000000000000000000000000000000... |
