Cod sursa(job #389938)

Utilizator shinerainBarbu Mada shinerain Data 2 februarie 2010 15:47:11
Problema Multimi2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <stdio.h>
FILE*f=fopen("multimi2.in","r"),
*g=fopen("multimi2.out","w");
int n,v[1000001],i,j,aux, par,n1,nrel1,nrel2,dmin;
int main()
{
	fscanf(f,"%d" ,&n);
	n1=n/2;
	
	if (n%2==0)
		{for (i=1;i<=n1;i=i+2)
			{v[i]=1;
			v[i+1]=2;
			nrel1++;
				nrel2++;}
			
		for (i=n1+1;i<=n;i=i+2)
			{v[i]=2;
			v[i+1]=1;
			nrel1++;
				nrel2++;}
			
			dmin=0;
		}
		
	if (n%2==1)
		if (n1%2==0)
			{for (i=1;i<n1;i=i+2)
				{v[i]=1;
				v[i+1]=2;
				nrel1++;
				nrel2++;
				}
			for(i=n1+2;i<n;i=i+2)
				{v[i]=1;
				v[i+1]=2;
				nrel1++;
				nrel2++;
				}
			v[n1]=1;
			v[n1+1]=2;
			nrel1++;nrel2++;
			v[n]=2;
			nrel2++;}
	else
	{	for (i=1;i<=n1;i=i+2)
				{v[i]=1;
				v[i+1]=2;
				nrel1++;
				nrel2++;}
			for(i=n1+1;i<=n-1;i=i+2)
				{v[i]=1;
				v[i+1]=2;nrel1++;
				nrel2++;}
				
			v[n]=2;
			dmin=0;
		}

	fprintf(g,"%d \n",dmin);
	fprintf(g,"%d",nrel1);
	fprintf(g,"\n");
	for (i=1;i<=n;i++)
		if(v[i]==1)
		fprintf(g,"%d ",i);	
		
	fprintf(g,"\n");
	fprintf(g,"%d",nrel2);
	fprintf(g,"\n");
	for (i=1;i<=n;i++)
		if(v[i]==2)
		fprintf(g,"%d ",i);

	
	return 0;
}