Pagini recente » Borderou de evaluare (job #1683721) | Cod sursa (job #2349273) | Cod sursa (job #2971651) | Cod sursa (job #3182425) | Cod sursa (job #728493)
Cod sursa(job #728493)
//Include
#include <fstream>
using namespace std;
//Definitii
#define ll long long int
//Constante
const int MAX_SIZE = (int)2e5+1;
//Variabile
ifstream in("sum.in");
ofstream out("sum.out");
int nrIntrebari;
int limit;
int question[MAX_SIZE];
ll v[MAX_SIZE];
//Main
int main()
{
in >> nrIntrebari;
for(int i=1 ; i<=nrIntrebari ; ++i)
{
in >> question[i];
if(question[i] > limit)
limit = question[i];
}
limit <<= 1;
for(int i=2 ; i<=limit ; ++i)
v[i] = i-1;
for(int i=2 ; i<=limit ; ++i)
{
for(int j=i<<1 ; j<=limit ; j+=i)
v[j] -= v[i];
v[i] *= i << 1;
}
for(int i=1 ; i<=nrIntrebari ; ++i)
out << v[question[i]] << '\n';
in.close();
out.close();
return 0;
}