From 887c286cc8228e13f85b587ab92b37e920161eb9 Mon Sep 17 00:00:00 2001 From: Nguyễn Gia Phong Date: Mon, 15 Apr 2019 17:20:41 +0700 Subject: Codechef celebrate 4.20 a bit early this year --- codechef/strch.c | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 codechef/strch.c (limited to 'codechef/strch.c') diff --git a/codechef/strch.c b/codechef/strch.c new file mode 100644 index 0000000..518378e --- /dev/null +++ b/codechef/strch.c @@ -0,0 +1,30 @@ +#include +#include + +int main() +{ + int t; + long n, i, j; + long long res; + char *s = malloc(1000001), x; + + scanf("%d", &t); + while (t--) { + scanf("%ld", &n); + fgets(s, n, stdin); + res = n * (n + 1) / 2; + scanf("%s %c", s, &x); + + for (i = 0; i < n; ++i) { + if (s[i] == x) + continue; + for (j = i; j < n && s[j] - x; ++j); + res -= (j - i) * (j - i + 1) / 2; + i = j; + } + + printf("%lld\n", res); + } + + return 0; +} -- cgit 1.4.1