Cod sursa(job #728493)

Utilizator fhandreiAndrei Hareza fhandrei Data 28 martie 2012 19:20:32
Problema Sum Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
//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;
}