Cod sursa(job #592800)

Utilizator klamathixMihai Calancea klamathix Data 30 mai 2011 19:21:16
Problema Mins Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<cstdio>
#include<algorithm>
using namespace std;
#define ll long long 
const int maxn = 1000005;
int i , j , n , m , phi[maxn];
ll ans;

int main()
{
	freopen("mins.in","r",stdin);
	freopen("mins.out","w",stdout);
	
	scanf("%d %d",&n,&m);
	
	n-- , m--;
	
	if ( n < m ) 
		swap(n , m);
	
	for( i = 1 ; i <= n ; ++i )
		phi[i] = i;
	
	for( i = 2 ; i <= n ; ++i )  {
		if ( phi[i] == i ) 
			for( j = i ; j <= n ; j += i )
				phi[j] /= i , phi[j] *= (i - 1);
		if ( i <= m )
			ans += 2 * phi[i];
		else
			ans += phi[i];
	}
	
	printf("%lld\n",ans + 1);
	
return 0;
}