CSES - KILO 2018 3/5 - Results
Submission details
Task:Alphabet Accumulation
Sender:ollpu
Submission time:2018-09-20 16:45:13 +0300
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.06 sdetails
#2ACCEPTED0.06 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.10 sdetails
#5ACCEPTED0.10 sdetails
#6ACCEPTED0.07 sdetails
#7ACCEPTED0.07 sdetails
#8ACCEPTED0.09 sdetails
#9ACCEPTED0.08 sdetails
#10ACCEPTED0.08 sdetails

Code

#include <bits/stdc++.h>
using namespace std;
vector<int> z[26][101010];
int ff[101010];
int main() {
  ios::sync_with_stdio(0);
  cin.tie(0);
  int n, m;
  cin >> n >> m;
  string s, t[m];
  cin >> s;
  int res = 0;
  for (int i = 0; i < m; ++i) {
    cin >> t[i];
    vector<int> r(26);
    for (char c : t[i]) r[c-'a']++;
    for (int j = 0; j < 26; ++j) {
      if (!r[j]) ff[i]++;
      else z[j][r[j]].push_back(i);
    }
    if (ff[i] == 26) res++;
  }
  vector<int> r(26);
  for (int i = 0; i < n; ++i) {
    int x = s[i]-'a';
    r[x]++;
    for (int j : z[x][r[x]]) {
      ff[j]++;
      if (ff[j] == 26) res++;
    }
    cout << res << " ";
  }
  cout << endl;
}

Test details

Test 1

Verdict: ACCEPTED

input
3 3
aab
aa
ba
bb

correct output
0 1 2 

user output
0 1 2 

Test 2

Verdict: ACCEPTED

input
100 10
facdeebdaeffeadfdccgecbbegfdff...

correct output
0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 ...

user output
0 0 0 0 0 0 2 2 2 2 2 2 2 2 2 ...

Test 3

Verdict: ACCEPTED

input
100 50
gggggfgggfggeggeggafgfffgggfgg...

correct output
0 0 0 0 0 3 3 3 3 4 4 4 29 29 ...

user output
0 0 0 0 0 3 3 3 3 4 4 4 29 29 ...

Test 4

Verdict: ACCEPTED

input
100000 100000
yzxyzzyywyyzzyzwwzwytyzzyxxxyy...

correct output
17 18 18 18 18 18 18 18 2197 2...

user output
17 18 18 18 18 18 18 18 2197 2...

Test 5

Verdict: ACCEPTED

input
100000 100000
zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz...

correct output
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

user output
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 ...

Test 6

Verdict: ACCEPTED

input
100000 20
ccacccbaccccacacacacaaacaccccc...

correct output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 7

Verdict: ACCEPTED

input
100000 20
rypyjiljrkjrhsbohtbvacxnfyucvi...

correct output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 8

Verdict: ACCEPTED

input
100000 32258
ztixcicqghqttowabnxvulwngxzpsm...

correct output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 9

Verdict: ACCEPTED

input
100000 32258
zzzyzzzzzzzzzzzyzzzzzzzzzzzyzz...

correct output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

user output
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 10

Verdict: ACCEPTED

input
100000 30488
rsrlsoassssrrsssrrrssrssrsrrss...

correct output
1 2 2 2 2 4 5 5 5 5 5 5 5 5 5 ...

user output
1 2 2 2 2 4 5 5 5 5 5 5 5 5 5 ...