Cod sursa(job #2397784)

Utilizator Anakin1001George Giorgiu Gica Anakin1001 Data 4 aprilie 2019 19:25:19
Problema Abc2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <fstream>
#include <vector>
#include <cstring>
#define mod 500001
using namespace std;
ifstream f("abc2.in");
ofstream g("abc2.out");
vector <unsigned long long> v[mod+1];
char S[10000005],S1[25];
int ap,i,m,r,j;
unsigned long long nr,p;
int caut(unsigned long long x){
    int r=x%mod;
    for(int i=0;i<v[r].size();i++)
        if(v[r][i]==x)
            return i;
    return -1;
}
int main()
{   f>>(S+1);
    while(f>>(S1+1)){
        m=strlen(S1+1);
        nr=0;
        for(i=1;S1[i]!=0;i++)
            nr=nr*10+S1[i]-'a'+1;
        i=caut(nr);
        r=nr%mod;
        if(i==-1)
            v[r].push_back(nr);
    }
    nr=0;p=1;
    for(i=1;i<=m-1;i++){
        nr=nr*10+S[i]-'a'+1;
        p=p*10;
    }
    ap=0;
    for(i=m;S[i]!=0;i++){
        nr=nr%p*10+S[i]-'a'+1;
        j=caut(nr);
        if(j!=-1)
            ap++;
    }
    g<<ap;
    return 0;
}