Cod sursa(job #2440828)
Utilizator | Pasoi Stefan pasoi_stefan | Data | 19 iulie 2019 14:04:12 |
---|---|---|---|
Problema | Sum | Scor | 100 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.58 kb |
#include <stdio.h>
FILE *f1 = fopen("sum.in","r");
FILE *f2 = fopen("sum.out","w");
int n,x,dx;
int phi[200001],a[100001],imax;
long long sol;
int main()
{
fscanf(f1,"%d",&n);
for(int i=1;i<=n;i++)
{fscanf(f1,"%d",&a[i]);if(a[i]>a[imax]) imax=i;}
int k=a[imax];
for(int i=1;i<=k;i++)
phi[i]=i-1;
for(int i=2;i<=k/2;i++)
for(int j=2;j*i<=k;j++)
phi[j*i]-=phi[i];
for(int i=1;i<=n;i++)
{
sol=1LL*2*phi[a[i]]*a[i];
fprintf(f2,"%lld\n",sol);
}
///cout<<1LL*2*phi[a[i]]*a[i]<<'\n';
}