| Task: | Buzzwords |
| Sender: | Isak |
| Submission time: | 2025-11-03 17:24:10 +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.01 s | details |
| #42 | ACCEPTED | 0.15 s | details |
| #43 | ACCEPTED | 0.13 s | details |
| #44 | 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 (uint64_t i = (s); i < (e); i++)
#define SCAN(...) if (scanf(__VA_ARGS__) == 0) return EXIT_FAILURE
int64_t max2(int64_t a, int64_t b){ return a > b ? a : b; }
int64_t min2(int64_t a, int64_t b){ return a < b ? a : b; }
uint64_t *z(char *s, uint64_t n){
if (n == 0)
return NULL;
uint64_t *z = (uint64_t *) malloc(n * sizeof(uint64_t));
int64_t x = 0, y = 0;
z[0] = n;
LOOP(i, 1, n){
z[i] = max2(0, min2(z[i-x], y-i+1));
// printf("z[%ld] = %ld ; x = %ld ; y = %ld\n", i, z[i], x, y);
while ( i+z[i] < n && s[z[i]] == s[i + z[i]]){
x = i;
y = i + z[i];
z[i]++;
}
}
return z;
}
int main() {
uint64_t buff_len = 200000;
uint64_t s_lenght = 1002;
char *buff = (char *) malloc( buff_len * sizeof(char));
char *word = buff+buff_len - s_lenght;
uint64_t word_len = getline(&word, &s_lenght, stdin);
word_len--;
word[word_len] = '\0';
char *tmp_buff = NULL;
uint64_t tmp_buff_len = 0;
uint64_t q;
SCAN("%ld\n", &q);
uint64_t acc = 0;
LOOP(i, 0, q){
uint64_t q_len = getline(&tmp_buff, &tmp_buff_len, stdin);
q_len--;
tmp_buff[q_len] = '\0';
strcpy(word-q_len-1, tmp_buff);
*(word-1) = '#';
// printf("%s\n", word-1-q_len);
uint64_t *zbuff = z(word-1-q_len, q_len+word_len+1);
LOOP(j, 0, word_len)
acc += (zbuff[q_len+j+1] == q_len) ? 1 : 0;
// LOOP(j, 0, word_len+q_len+1)
// printf("%ld ", zbuff[j]);
// printf("\n");
}
printf("%ld\n", acc);
return EXIT_SUCCESS;
}
Test details
Test 1
Verdict: ACCEPTED
| input |
|---|
| g fhe 395 a aa aafh ... |
| correct output |
|---|
| 10 |
| user output |
|---|
| 10 |
Test 2
Verdict: ACCEPTED
| input |
|---|
| s adh 372 a ad ae ... |
| correct output |
|---|
| 6 |
| user output |
|---|
| 6 |
Test 3
Verdict: ACCEPTED
| input |
|---|
| adcdb 20 a aa ab ... |
| correct output |
|---|
| 9 |
| user output |
|---|
| 9 |
Test 4
Verdict: ACCEPTED
| input |
|---|
| aaaaa 5 a aa aaa ... |
| correct output |
|---|
| 15 |
| user output |
|---|
| 15 |
Test 5
Verdict: ACCEPTED
| input |
|---|
| o zws 759 a ab abw ... |
| correct output |
|---|
| 8 |
| user output |
|---|
| 8 |
Test 6
Verdict: ACCEPTED
| input |
|---|
| aaaaa 5 a aa aaa ... |
| correct output |
|---|
| 15 |
| user output |
|---|
| 15 |
Test 7
Verdict: ACCEPTED
| input |
|---|
| ifv b 649 a aaw ac ... |
| correct output |
|---|
| 10 |
| user output |
|---|
| 10 |
Test 8
Verdict: ACCEPTED
| input |
|---|
| dbbdc 129 a aa aaab ... |
| correct output |
|---|
| 15 |
| user output |
|---|
| 15 |
Test 9
Verdict: ACCEPTED
| input |
|---|
| aaaaa 5 a aa aaa ... |
| correct output |
|---|
| 15 |
| user output |
|---|
| 15 |
Test 10
Verdict: ACCEPTED
| input |
|---|
| eeeab 9 a b c ... |
| correct output |
|---|
| 5 |
| user output |
|---|
| 5 |
Test 11
Verdict: ACCEPTED
| input |
|---|
| ghfhe d fd 430 a aa aafa ... |
| correct output |
|---|
| 22 |
| user output |
|---|
| 22 |
Test 12
Verdict: ACCEPTED
| input |
|---|
| syadhzdgck 275 a ad adh ... |
| correct output |
|---|
| 53 |
| user output |
|---|
| 53 |
Test 13
Verdict: ACCEPTED
| input |
|---|
| adcdbbbbba 256 a aa aaa ... |
| correct output |
|---|
| 49 |
| user output |
|---|
| 49 |
Test 14
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaa 10 a aa aaa ... |
| correct output |
|---|
| 55 |
| user output |
|---|
| 55 |
Test 15
Verdict: ACCEPTED
| input |
|---|
| o zwspspfd 468 a adks afhsrhvwxn ... |
| correct output |
|---|
| 45 |
| user output |
|---|
| 45 |
Test 16
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaa 10 a aa aaa ... |
| correct output |
|---|
| 55 |
| user output |
|---|
| 55 |
Test 17
Verdict: ACCEPTED
| input |
|---|
| i vbbjczpc 703 a aa abou ... |
| correct output |
|---|
| 29 |
| user output |
|---|
| 29 |
Test 18
Verdict: ACCEPTED
| input |
|---|
| d bdcbdbcb 128 a aa aab ... |
| correct output |
|---|
| 42 |
| user output |
|---|
| 42 |
Test 19
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaa 10 a aa aaa ... |
| correct output |
|---|
| 55 |
| user output |
|---|
| 55 |
Test 20
Verdict: ACCEPTED
| input |
|---|
| eeeabcbabh 171 a aac aahg ... |
| correct output |
|---|
| 34 |
| user output |
|---|
| 34 |
Test 21
Verdict: ACCEPTED
| input |
|---|
| ghfhehdf ddciaicdehheefdihadaf... |
| correct output |
|---|
| 246 |
| user output |
|---|
| 246 |
Test 22
Verdict: ACCEPTED
| input |
|---|
| s adhzdgckekirkyowkirnflwfanrx... |
| correct output |
|---|
| 52 |
| user output |
|---|
| 52 |
Test 23
Verdict: ACCEPTED
| input |
|---|
| adcdbbbbbaaccabbbccd cabccacdb... |
| correct output |
|---|
| 178 |
| user output |
|---|
| 178 |
Test 24
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| 2518 |
| user output |
|---|
| 2518 |
Test 25
Verdict: ACCEPTED
| input |
|---|
| oezws spfdzfasgxlquafowjzpe pv... |
| correct output |
|---|
| 284 |
| user output |
|---|
| 284 |
Test 26
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| 1387 |
| user output |
|---|
| 1387 |
Test 27
Verdict: ACCEPTED
| input |
|---|
| ifvbbjczpcnpknimqvlttkngpe szx... |
| correct output |
|---|
| 258 |
| user output |
|---|
| 258 |
Test 28
Verdict: ACCEPTED
| input |
|---|
| dbbdcbdb bcaabb bccddbbbacbcdc... |
| correct output |
|---|
| 36 |
| user output |
|---|
| 36 |
Test 29
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| 3076 |
| user output |
|---|
| 3076 |
Test 30
Verdict: ACCEPTED
| input |
|---|
| e eabcbabhdbcbaddebchdiga ggfb... |
| correct output |
|---|
| 23 |
| user output |
|---|
| 23 |
Test 31
Verdict: ACCEPTED
| input |
|---|
| ghfhehdff dci icdehheefdih daf... |
| correct output |
|---|
| 248 |
| user output |
|---|
| 248 |
Test 32
Verdict: ACCEPTED
| input |
|---|
| s a hzdgckekirkyo kirnflw anrx... |
| correct output |
|---|
| 27 |
| user output |
|---|
| 27 |
Test 33
Verdict: ACCEPTED
| input |
|---|
| adcdbbb baac abbbcc c abccacd ... |
| correct output |
|---|
| 433 |
| user output |
|---|
| 433 |
Test 34
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| 3427 |
| user output |
|---|
| 3427 |
Test 35
Verdict: ACCEPTED
| input |
|---|
| oezwsp pf z asgxlquafowjzpekpv... |
| correct output |
|---|
| 359 |
| user output |
|---|
| 359 |
Test 36
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| 2126 |
| user output |
|---|
| 2126 |
Test 37
Verdict: ACCEPTED
| input |
|---|
| ifvbbjczpcnpk imqvlttkngpeqszx... |
| correct output |
|---|
| 395 |
| user output |
|---|
| 395 |
Test 38
Verdict: ACCEPTED
| input |
|---|
| dbbdcbd cbcaabbabccddbb acbcdc... |
| correct output |
|---|
| 242 |
| user output |
|---|
| 242 |
Test 39
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| 4287 |
| user output |
|---|
| 4287 |
Test 40
Verdict: ACCEPTED
| input |
|---|
| eeeabcbabhd cb ddebchdigaiggfb... |
| correct output |
|---|
| 15 |
| user output |
|---|
| 15 |
Test 41
Verdict: ACCEPTED
| input |
|---|
| ghfhehdffdd i icdehheefd hadaf... |
| correct output |
|---|
| 431 |
| user output |
|---|
| 431 |
Test 42
Verdict: ACCEPTED
| input |
|---|
| syadhzdgckekirkyow irnflwfanrx... |
| correct output |
|---|
| 8039 |
| user output |
|---|
| 8039 |
Test 43
Verdict: ACCEPTED
| input |
|---|
| adcdbbbbbaaccabb ccdccabcc cdb... |
| correct output |
|---|
| 9409 |
| user output |
|---|
| 9409 |
Test 44
Verdict: ACCEPTED
| input |
|---|
| aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa... |
| correct output |
|---|
| 168696 |
| user output |
|---|
| 168696 |
