#include<mpi.h>
#include<stdio.h>
#define MCW MPI_COMM_WORLD
int main(int argc, char **argv)
{
	int n,i,s,por,total;
	int size,rank;
	int T[100];
	MPI_Status st;

	MPI_Init(&argc,&argv);
	MPI_Comm_size(MCW,&size);
	MPI_Comm_rank(MCW,&rank);
	if (rank==0)
	{
		printf("donner la taille du tableau");
		scanf("%d",&n);
		for(i=0;i<n;i++)
			T[i]=i;
		por =n/size;
	}
	MPI_Bcast(&n,1,MPI_INT,0,MCW);
	por =n/size;
	MPI_Scatter(T,por,MPI_INT,T,por,MPI_INT,0,MCW);
	for (i=0,s=0;i<por;i++)
		s+=T[i];
	MPI_Reduce(&s,&total,1,MPI_INT,MPI_SUM,0,MCW);
	if (rank==0)
	{
		for(i=por*size;i<n;i++)
			total+=T[i];
		printf(" total=%d\n",total);
	}	
	MPI_Finalize();
}

