Cod sursa(job #348728)

Utilizator alin.predoiAlin Predoi alin.predoi Data 16 septembrie 2009 18:22:37
Problema Fractii Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <vector>
#include <algorithm>
#include <cstdlib>
using namespace std;

 typedef vector<int> vi; 
 typedef vector<vi> vvi; 
 typedef pair<int,int> ii; 
 #define sz(a) int((a).size()) 
 #define pb push_back 
 #define all(c) (c).begin(),(c).end() 
 #define tr(c,i) for(typeof((c).begin() i = (c).begin(); i != (c).end(); i++) 
 #define present(c,x) ((c).find(x) != (c).end()) 
 #define cpresent(c,x) (find(all(c),x) != (c).end())
#define VMAX 1000000
long v[VMAX];
int main() {
	fstream f,g;
	long n,nr=1;
	f.open("fractii.in", fstream::in);
	g.open("fractii.out", fstream::out);
	f>>n;
	f.close();
	v[1]=1;
	for (long i = 2; i<=n; i++)
		v[i]=i-1;
	for (long i = 2; i<=n; i++) {
		for (long j = 2*i; j<=n; j+=i)
			v[j]-=v[i]; 
		nr+=2*v[i];
	}
	g<<nr;
	g.close();
return 0;
}