diff options
author | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2020-06-06 21:33:13 +0700 |
---|---|---|
committer | Nguyễn Gia Phong <mcsinyx@disroot.org> | 2020-06-06 21:33:13 +0700 |
commit | 2f674dc80f0382f1c3178f435714960734dc9d3c (patch) | |
tree | 2abba7e4ec72bd16f58f7375126144d3fd9f4bca /2ndary/12/QG-2007/maxiseq.c | |
parent | b2d80610db6beda38573890ed169815e495bc663 (diff) | |
download | cp-2f674dc80f0382f1c3178f435714960734dc9d3c.tar.gz |
Reorganize stuff from secondary school
Diffstat (limited to '2ndary/12/QG-2007/maxiseq.c')
-rw-r--r-- | 2ndary/12/QG-2007/maxiseq.c | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/2ndary/12/QG-2007/maxiseq.c b/2ndary/12/QG-2007/maxiseq.c new file mode 100644 index 0000000..94c15c8 --- /dev/null +++ b/2ndary/12/QG-2007/maxiseq.c @@ -0,0 +1,36 @@ +#include <math.h> +#include <stdio.h> + +char is_in_u(long x) +{ + long y = (long) sqrt(x *= 2); + return y * (y + 1) == x; +} + +int main() +{ + FILE *f = fopen("MAXISEQ.INP", "r"); + short n, i, max = 0, start = -1; + long a, b; + + fscanf(f, "%hd\n", &n); + for (i = 0; i < n; i++) { + b = a; + fscanf(f, "%ld\n", &a); + if (!is_in_u(a) || start >= 0 && b > a) { + start = -1; + continue; + } + if (start < 0) + start = i; + if (i - start >= max) + max = i - start + 1; + } + fclose(f); + + f = fopen("MAXISEQ.OUT", "w"); + fprintf(f, "%hd\n", max); + fclose(f); + + return 0; +} |