Cod sursa(job #1982490)

Utilizator aditoma2001Toma Adrian aditoma2001 Data 18 mai 2017 22:13:04
Problema Suma si numarul divizorilor Scor 20
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

int main()
{
    ifstream f("ssnd.in");
    ofstream g("ssnd.out");
    int t,maxx=-1;
    f>>t;
    vector <long> b(t+1,0);
    for (int i=1;i<=t;++i)
    {
        f>>b[i];
        if (b[i]>maxx) maxx=b[i];
    }
    cout<<maxx;
    vector <int> a(maxx+1,0);
    for (long long i=1;i<=maxx;++i)
    {
        a[i]++;
        for (long long j=i+i;j<=maxx;j+=i)
        {
            a[j]++;
        }
    }
    for (long long i=1;i<=t;++i)
    {
        long long x=b[i],s=1+x;
        for (int j=2;j*j<=x;++j)
        {
            if (x%j==0)
            {
                s+=j+x/j;
            }
            if (j*j==x) s-=j;
        }
        g<<a[b[i]]<<" "<<s%9973<<endl;
    }
    return 0;
}