Cod sursa(job #3236795)

Utilizator Andrei2000Andrei Mihailescu Andrei2000 Data 1 iulie 2024 19:11:56
Problema Mins Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <bits/stdc++.h>

using namespace std;

ifstream fin("mins.in");
ofstream fout("mins.out");

int v[1000002];

int main()
{
    long long int c, d, n;
    long long int sum=0;
    fin>>c>>d;
    c-=1;
    d-=1;
    n=min(c,d);
    for(int i=2;i<=n;++i){
        if(!v[i]){
            int k=2;
            while(k*i<=n){
                if(k%i==0)v[k*i]=2;
                else{
                    if(!v[k*i]) v[k*i]=1;
                    else if(v[k*i]!=2)v[k*i]*=-1;
                }
                k+=1;
            }
        }
    }
    for(int i=2;i<=n;++i){
        if(v[i]==0)v[i]=1;
        if(v[i]==2)v[i]=0;
        sum += v[i]*(c/i)*(d/i);
    }
    for(int i=1;i<=100;++i){
        cout<<i<<": "<<v[i]<<endl;
    }
    fout<<(c)*(d)-sum<<endl;
    return 0;
}