Cod sursa(job #3216912)

Utilizator Robert_MitriRobert Mitri Robert_Mitri Data 20 martie 2024 12:34:26
Problema Diviz Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.05 kb
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream fin("diviz.in");
ofstream fout("diviz.out");

int d[205][10][105];

int n,k,a,b;
char s[205];

const int mod=30103;

const int INF = 1e9;


int main()
{
    fin>>k>>a>>b;
    fin>>s;
    int sol=0;
    for(int i=0;s[i];i++){
        for(int l=b;l>1;l--)
            for(int r=0;r<k;r++)
                for(int c=0;c<=9;c++)
                    {
                        d[l+1][s[i]-'0'][(r*10+s[i]-'0')%k]+=d[l][c][r];
                        d[l+1][s[i]-'0'][(r*10+s[i]-'0')%k]%=mod;
                    }
        for(int r=0;r<k;r++)
            for(int c=1;c<=9;c++)
               {
                    d[2][s[i]-'0'][(r*10+s[i]-'0')%k] += d[1][c][r];
                    d[2][s[i]-'0'][(r*10+s[i]-'0')%k]%=mod;
                }
        d[1][s[i]-'0'][(s[i]-'0')%k]++;
        d[1][s[i]-'0'][(s[i]-'0')%k]%=mod;
    }
    for(int i = a;i<=b;i++)
        for(int c=0;c<=9;c++)
            sol=(sol + d[i][c][0])%mod;
    fout<<sol;
}