Cod sursa(job #110180)

Utilizator blasterzMircea Dima blasterz Data 25 noiembrie 2007 19:50:20
Problema Multimi2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#define maxn 1000001
int a[maxn], b[maxn];
int n;

inline int sgn(int a)
{
	if(a<0) return -a;
	return a;
}

int main()
{
	freopen("multimi2.in","r",stdin);
	scanf("%d\n", &n);
	int sol=0;
	int r=n%4;
	int p=n/4, i, na=0, nb=0;
	int P=1, Q=n;
	for(i=1, P=1, Q=n;i<=p;++i)
	{
		a[++na]=P++;
		a[++na]=Q--;
		b[++nb]=P++;
		b[++nb]=Q--;
	}
	if(r==0) sol=0;
	if(r==1){ a[++na]=(n/2)+1; sol=(n/2)+1;}
	if(r==2)
	{
		a[++na]=n/2;
		b[++nb]=n/2+1;
		sol=1;
	}
	
	if(r==3)
	{
		a[++na]=n/2;
		a[++na]=n/2+1;
		b[++nb]=n/2+2;
		sol=n/2+n/2+1-(n/2+2);
	}
	freopen("multimi2.out","w",stdout);
	printf("%d\n", sol);
	printf("%d\n", na);
	for(i=1;i<=na;++i) printf("%d ", a[i]);
	printf("\n");
	printf("%d\n", nb);
	for(i=1;i<=nb;++i) printf("%d ", b[i]);
	printf("\n");
return 0;
}