Cod sursa(job #2680469)

Utilizator gasparrobert95Gaspar Robert Andrei gasparrobert95 Data 3 decembrie 2020 16:43:51
Problema Zero 2 Scor 11
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ifstream fin("zero2.in");
ofstream fout("zero2.out");
ll n, b, fv[50000000];

int main() {
    int t = 10;
    while (t--) {
        fin >> n >> b;
        ll zeros = 0;
        for (ll i = 1; i <= n; ++i)
            if (b % i == 0)
                fv[i] += n - i + 1;
            else if (i % b == 0)
                zeros += i / b * (n - i + 1);
        for (ll i = 1; i * i <= b; ++i) {
            ll rest = b / i;
            if (i * rest == b)  {
                if (i == rest)
                    zeros += fv[i] / 2;
                else
                    zeros += min(fv[i], fv[rest]);
            }
            fv[i] = 0, fv[rest] = 0;
        }
        fout << zeros << "\n";
    }
    return 0;
}