Cod sursa(job #110174)

Utilizator HemorrhageMocanu Tiberiu Hemorrhage Data 25 noiembrie 2007 19:35:37
Problema Multimi2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <stdio.h>
#include <math.h>

	unsigned long n, k;
	unsigned char f [1000001];

 int main ()
	 {
	    freopen ("multimi2.in", "r", stdin);
	    freopen ("multimi2.out", "w", stdout);
	    int num=0;
	    unsigned long m, i, o;
	    scanf ("%lu", &n);
	    k=n*(n+1)/4;
	    m=(long double)n*(n+1)/2-k;
	    if (m > k)
	    printf ("%lu\n", (unsigned long)(m-k));
	    else
		printf ("%lu\n", (unsigned long)(k-m));
	    o=n;
	    while (k)
		 {
		     if (k >= o)
		       {
			   k=k-o;
			   ++num;
			   f [o]=1;
			   o--;
		       }
		      else
			  {
			      num++;
			      f [k]=1;
			      k=0;
			   }
		 }
	    printf ("%d\n", num);
	    for (i=1; i <=n; i++)
		if (f [i])
		 printf ("%lu ", i);
	    printf ("\n%d\n", n-num);
	    for (i=1; i<=n; i++)
	       {
		  if (f [i] == 0)
		      printf ("%lu ", i);
	       }
	    fcloseall ();
	    return 0;
	 }