Cod sursa(job #3319128)

Utilizator gabi072Sanda Gabriel gabi072 Data 30 octombrie 2025 17:18:21
Problema Abc2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.64 kb
#include<bits/stdc++.h>
using namespace std;
ifstream fin("abc2.in");
ofstream fout("abc2.out");
unordered_set<int> st;
const int base = 3;
string sir,c;
int main() {
    fin>>sir;
    int ws=0;
    while(fin>>c){
        if(!ws) ws=c.size();
        int h=0;
        for(char ch:c)
            h=h*base+(ch-'a');
        st.insert(h);
    }
    int p=1;
    for(int i=0;i<ws-1;++i)
        p*=base;
    int h=0;
    for(int i=0;i<ws;++i)
        h=h*base+(sir[i]-'a');
    long long ap=0;
    if(st.count(h)) ++ap;
    for(int i=ws;i<(int)sir.size();++i){
        h=h*base+(sir[i]-'a')-(sir[i-ws]-'a')*p;
        if(st.count(h)) ++ap;
    }
    fout<<ap;
}