[UVA] 11063 - B2-Sequence
Problem H - B2-Sequence
Time Limit: 1 second
A B2-Sequence is a sequence of positive integers 1 ≤ b1 < b2 < b3 ... such that all pairwise sums bi + bj, where i ≤ j, are different.
Your task is to determine if a given sequence is a B2-Sequence or not.
Input
Each test case starts with 2 ≤ N ≤ 100, the number of elements in a sequence. Next line will have N integers, representing the value of each element in the sequence. Each element bi is an integer such that bi ≤ 10000. There is a blank line after each test case. The input is terminated by end of file (EOF).
Output
For each test case you must print the number of the test case, starting from 1, and a message indicating if the corresponding sequence it is a B2-Sequence or not. See the sample output below. After each test case you must print a blank line.
Sample Input
4
1 2 4 8
4
3 7 10 14
Sample Output
Case #1: It is a B2-Sequence.
Case #2: It is not a B2-Sequence.
#include <stdio.h>
int main() {
int b[1001] = {0}, n, test = 0, i, j;
while(scanf("%d", &n) == 1) {
int flag = 0;
for(i = 1; i <= n; i++) {
scanf("%d", &b[i]);
if(b[i] <= b[i-1]) {
flag = 1;
}
}
int mark[20001] = {};
if(flag == 0)
for(i = 1; i <= n; i++) {
for(j = i; j <= n; j++) {
if(mark[b[i]+b[j]] != 0)
flag = 1;
mark[b[i]+b[j]] = 1;
}
}
printf("Case #%d: It is ", ++test);
if(!flag)
puts("a B2-Sequence.");
else
puts("not a B2-Sequence.");
puts("");
}
return 0;
}