Abhishek

B.Sum to 0

#include <stdio.h>

int main() {
int T;
if (scanf("%d", &T) != 1) return 0;
while (T--) {
int N;
scanf("%d", &N);

// Impossible for N = 1
if (N == 1) {
printf("-1\n");
continue;
}

// If N is even: just output N/2 of +1 and N/2 of -1
if (N % 2 == 0) {
for (int i = 0; i < N / 2; i++) {
printf("1 ");
printf("-1 ");
}
printf("\n");
}
else {
// N is odd and >= 3
// Use one triple [1, 2, -3] (sum = 0), then fill the rest (even count) with pairs [1, -1]
printf("1 2 -3 ");
int rem = N - 3;
for (int i = 0; i < rem / 2; i++) {
printf("1 ");
printf("-1 ");
}
printf("\n");
}
}
return 0;
}

6 days ago | [YT] | 1