Cod sursa(job #3156505)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 11 octombrie 2023 18:02:32
Problema Sum Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.78 kb
#include<fstream>
using namespace std;
ifstream F("sum.in");
ofstream G("sum.out");
#define N 100001
#define M 1000000
char p[M],q[M];
int k=-1,t,i,j,e[N],l;
inline int A()
{
  	int s=0;
  	for(++k;p[k]>47;++k)
  		s=s*10+p[k]-48;
  	return s;
}
inline void S(long long x)
{
    int i,d=x>=1e18?19:x>=1e17?18:x>=1e16?17:x>=1e15?16:x>=1e14?15:x>=1e13?14:x>=1e12?13:x>=1e11?12:x>=1e10?11:x>=1e9?10:x>=1e8?9:x>=1e7?8:x>=1e6?7:x>=1e5?6:x>=1e4?5:x>999?4:x>99?3:x>9?2:1;
    for(i=d-1;i>=0;x/=10,--i)
        q[l+i]=x%10+48;
    q[l+d]=10,l+=d+1;
}
int main()
{
    for(i=2;i<N;++i)
        e[i]=i-1;
    for(i=2;i<N;++i)
        for(j=2*i;j<N;j+=i)
            e[j]-=e[i];
    for(F.read(p,M),i=A();i;--i)
        j=A(),S(1LL*e[j]*2*j);
    G.write(q,l);
    return 0;
}