Cod sursa(job #109312)

Utilizator GheorgheMihaiMihai Gheorghe GheorgheMihai Data 25 noiembrie 2007 10:09:29
Problema Multimi2 Scor 100
Compilator cpp Status done
Runda preONI 2008, Runda 1, Clasele 5-8 Marime 1.15 kb
#include<stdio.h>
long n,i;
int r;
int main()
{
freopen("multimi2.in","r",stdin);
freopen("multimi2.out","w",stdout);
scanf("%ld",&n);
r=n%4;
if(r==0)
  {
  printf("0\n");
  printf("%ld\n",n/2);
  for(i=1;i<=n;i++)
    if(i%4==1 || i%4==0)
      printf("%ld ",i);
  printf("\n%ld\n",n/2);
  for(i=2;i<=n;i++)
    if(i%4==2 || i%4==3)
      printf("%ld ",i);
  return 0;
  }
if(r==1)
  {
  printf("1\n");
  printf("%ld\n",n/2+1);
  printf("1 ");
  for(i=2;i<=n;i++)
    if(i%4==2 || i%4==1)
      printf("%ld ",i);
  printf("\n%ld\n",n/2);
  for(i=3;i<=n;i++)
    if(i%4==3 || i%4==0)
      printf("%ld ",i);
  return 0;
  }
if(r==2)
  {
  printf("1\n");
  printf("%ld\n",n/2);
  for(i=1;i<=n;i++)
    if(i%4==1 || i%4==0)
      printf("%ld ",i);
  printf("\n%ld\n",n/2);
  for(i=2;i<=n;i++)
    if(i%4==2 || i%4==3)
      printf("%ld ",i);
  return 0;
  }
if(r==3)
  {
  printf("0\n");
  printf("%ld\n",n/2+1);
  printf("1 ");
  for(i=2;i<=n;i++)
    if(i%4==2 || i%4==1)
      printf("%ld ",i);
  printf("\n%ld\n",n/2);
  for(i=3;i<=n;i++)
    if(i%4==3 || i%4==0)
      printf("%ld ",i);
  return 0;
  }
return 0;
}